[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
lynx-dev [PATCH 2.8.4dev.20] Styles in menu
From: |
Ilya Zakharevich |
Subject: |
lynx-dev [PATCH 2.8.4dev.20] Styles in menu |
Date: |
Sun, 20 May 2001 02:32:49 -0400 |
User-agent: |
Mutt/1.2.5i |
This patch makes the style of menu border/bg/entry/number/active-entry
and scroll indicator settable. The names in lynx.lss are
menu.frame menu.bg menu.n menu.entry menu.active menu.sb
Enjoy,
Ilya
--- src/LYCurses.c 2001/05/02 09:06:45 1.1
+++ src/LYCurses.c 2001/05/20 06:02:32
@@ -330,6 +330,7 @@ PUBLIC void LYbox ARGS2(
* specify our own ASCII characters for the corners and call
* wborder() instead of box(). - kw
*/
+ LynxWChangeStyle(win, s_menu_frame, STACK_ON);
#ifdef HAVE_WBORDER
if (!boxvert || !boxhori)
box(win, boxvert, boxhori);
@@ -340,6 +341,7 @@ PUBLIC void LYbox ARGS2(
#else
box(win, boxvert, boxhori);
#endif
+ LynxWChangeStyle(win, s_menu_frame, STACK_OFF);
#ifdef CSS
if (formfield)
wcurses_css(win, "frame", ABS_OFF);
@@ -414,7 +416,7 @@ PRIVATE int LYAttrset ARGS3(
}
}
-PRIVATE void curses_w_style ARGS3(
+PUBLIC void curses_w_style ARGS3(
WINDOW*, win,
int, style,
int, dir)
@@ -471,7 +473,7 @@ PRIVATE void curses_w_style ARGS3(
"in LynxChangeStyle(curses_w_style)"));
last_colorattr_ptr--;
}
- last_styles[last_colorattr_ptr++] = getattrs(LYwin);
+ last_styles[last_colorattr_ptr++] = getattrs(win);
/* don't cache style changes for active links */
#if OMIT_SCN_KEEPING
/* since we don't compute the hcode to stack off in HTML.c, we
@@ -1509,7 +1511,21 @@ PUBLIC WINDOW *LYstartPopup ARGS4(
!(form_window = newwin(height, 0, top_y, 0))) {
HTAlert(POPUP_FAILED);
} else {
+ attr_t b;
+
LYsubwindow(form_window);
+# ifdef USE_COLOR_STYLE
+ /* Get a proper value for the attribute */
+ LynxWChangeStyle(form_window, s_menu_bg, STACK_ON);
+ b = getattrs(form_window);
+ LynxWChangeStyle(form_window, s_menu_bg, STACK_OFF);
+ wbkgd(form_window, b | ' ');
+ /* wbkgdset does not make a lot of sense with USE_COLOR_STYLE
+ since it *forces* attributes on all the cells in the window.
+ Undo the change done in LYsubwindow, since we set our styles.
+ */
+ wbkgdset(form_window, (b & ~(A_BOLD|A_BLINK)) | ' ');
+# endif
}
#endif /* USE_SLANG */
return form_window;
--- src/LYCurses.h 2001/05/02 09:23:53 1.1
+++ src/LYCurses.h 2001/05/02 09:27:12
@@ -319,7 +319,11 @@ extern void curses_style PARAMS((int sty
extern void setHashStyle PARAMS((int style, int color, int cattr, int mono,
char* element));
extern void setStyle PARAMS((int style, int color, int cattr, int mono));
extern void wcurses_css PARAMS((WINDOW * win, char* name, int dir));
-#define LynxChangeStyle(style,dir) curses_style(style,dir)
+extern void curses_w_style PARAMS((WINDOW* win, int style, int dir));
+# define LynxChangeStyle(style,dir) curses_style(style,dir)
+# define LynxWChangeStyle(win,style,dir) curses_w_style(win,style,dir)
+#else
+# define LynxWChangeStyle(win,style,dir) 1
#endif /* USE_COLOR_STYLE */
#if USE_COLOR_TABLE
--- src/LYHash.h 2001/05/02 09:58:04 1.1
+++ src/LYHash.h 2001/05/02 09:59:36
@@ -50,6 +50,12 @@ extern int s_prompt_sel;
extern int s_status;
extern int s_title;
extern int s_whereis;
+extern int s_menu_frame;
+extern int s_menu_bg;
+extern int s_menu_number;
+extern int s_menu_entry;
+extern int s_menu_active;
+extern int s_menu_sb;
#ifdef USE_SCROLLBAR
extern int s_sb_aa;
--- src/LYStrings.c 2001/05/02 07:48:59 1.3
+++ src/LYStrings.c 2001/05/02 10:46:56
@@ -3650,13 +3650,29 @@ PRIVATE void draw_option ARGS7(
if (reversed)
SLsmg_set_color(0);
#else
- wmove(win, entry, 2);
+ wmove(win, entry, 1);
+ LynxWChangeStyle(win, s_menu_entry, STACK_ON);
+ waddch(win, ' ');
+ LynxWChangeStyle(win, s_menu_entry, STACK_OFF);
+ LynxWChangeStyle(win, s_menu_number, STACK_ON);
waddstr(win, Cnum);
+ LynxWChangeStyle(win, s_menu_number, STACK_OFF);
+#ifdef USE_COLOR_STYLE
+ LynxWChangeStyle(win, reversed ? s_menu_active : s_menu_entry, STACK_ON);
+#else
if (reversed)
wstart_reverse(win);
+#endif
LYpaddstr(win, width, value);
+#ifdef USE_COLOR_STYLE
+ LynxWChangeStyle(win, reversed ? s_menu_active : s_menu_entry, STACK_OFF);
+#else
if (reversed)
wstop_reverse(win);
+#endif
+ LynxWChangeStyle(win, s_menu_entry, STACK_ON);
+ waddch(win, ' ');
+ LynxWChangeStyle(win, s_menu_entry, STACK_OFF);
#endif /* USE_SLANG */
}
@@ -3918,11 +3934,15 @@ redraw:
}
if (can_scroll & ~can_scroll_was & CAN_SCROLL_UP) {
wmove(form_window, 1, Lnum + width + 3);
+ LynxWChangeStyle(form_window, s_menu_sb, STACK_ON);
waddch(form_window, ACS_UARROW);
+ LynxWChangeStyle(form_window, s_menu_sb, STACK_OFF);
}
if (can_scroll & ~can_scroll_was & CAN_SCROLL_DOWN) {
wmove(form_window, length, Lnum + width + 3);
+ LynxWChangeStyle(form_window, s_menu_sb, STACK_ON);
waddch(form_window, ACS_DARROW);
+ LynxWChangeStyle(form_window, s_menu_sb, STACK_OFF);
}
}
--- src/LYStyle.c 2001/05/02 09:58:20 1.1
+++ src/LYStyle.c 2001/05/02 10:25:16
@@ -1,6 +1,6 @@
/* character level styles for Lynx
* (c) 1996 Rob Partington -- donated to the Lyncei (if they want it :-)
- * $Id: LYStyle.c,v 1.1 2001/05/02 09:58:20 vera Exp $
+ * $Id: LYStyle.c,v 1.1 2001/05/02 09:58:20 vera Exp vera $
*/
#include <HTUtils.h>
#include <HTML.h>
@@ -67,6 +67,12 @@ PUBLIC int s_prompt_sel = NOSTYLE;
PUBLIC int s_status = NOSTYLE;
PUBLIC int s_title = NOSTYLE;
PUBLIC int s_whereis = NOSTYLE;
+PUBLIC int s_menu_frame = NOSTYLE;
+PUBLIC int s_menu_bg = NOSTYLE;
+PUBLIC int s_menu_number = NOSTYLE;
+PUBLIC int s_menu_entry = NOSTYLE;
+PUBLIC int s_menu_active = NOSTYLE;
+PUBLIC int s_menu_sb = NOSTYLE;
#ifdef USE_SCROLLBAR
PUBLIC int s_sb_aa = NOSTYLE;
@@ -231,6 +237,12 @@ PRIVATE void parse_style ARGS1(char*,buf
{ "edit.prompt.marked", DSTYLE_ELEMENTS, &s_prompt_sel },
{ "edit.prompt", DSTYLE_ELEMENTS, &s_prompt_edit },
{ "forwbackw.arrow", DSTYLE_ELEMENTS, &s_forw_backw },
+ { "menu.frame", DSTYLE_ELEMENTS, &s_menu_frame },
+ { "menu.bg", DSTYLE_ELEMENTS, &s_menu_bg },
+ { "menu.n", DSTYLE_ELEMENTS, &s_menu_number },
+ { "menu.entry", DSTYLE_ELEMENTS, &s_menu_entry },
+ { "menu.active", DSTYLE_ELEMENTS, &s_menu_active },
+ { "menu.sb", DSTYLE_ELEMENTS, &s_menu_sb },
};
unsigned n;
BOOL found = FALSE;
@@ -423,6 +435,11 @@ PUBLIC void parse_userstyles NOARGS
dft_style(s_aedit_pad, s_aedit);
dft_style(s_curedit, s_aedit);
dft_style(s_aedit_sel, s_aedit);
+ dft_style(s_menu_bg, s_normal);
+ dft_style(s_menu_entry, s_menu_bg);
+ dft_style(s_menu_frame, s_menu_bg);
+ dft_style(s_menu_number, s_menu_bg);
+ dft_style(s_menu_active, s_alink);
}
; To UNSUBSCRIBE: Send "unsubscribe lynx-dev" to address@hidden
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- lynx-dev [PATCH 2.8.4dev.20] Styles in menu,
Ilya Zakharevich <=