Initial import of the CDE 2.1.30 sources from the Open Group.

This commit is contained in:
Peter Howkins
2012-03-10 18:21:40 +00:00
commit 83b6996daa
18978 changed files with 3945623 additions and 0 deletions

View File

@@ -0,0 +1,11 @@
XCOMM $TOG: Imakefile /main/9 1998/08/10 15:54:01 mgreess $
#define IHaveSubdirs
#define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)' 'CXXDEBUGFLAGS=$(CXXDEBUGFLAGS)'
SUBDIRS=wwl src install
MakeSubdirs($(SUBDIRS))
DependSubdirs(wwl src)

View File

@@ -0,0 +1,9 @@
XCOMM $TOG: Imakefile /main/8 1998/08/10 15:53:37 mgreess $
#define IHaveSubdirs
#define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)' 'CXXDEBUGFLAGS=$(CXXDEBUGFLAGS)'
SUBDIRS = lib
MakeSubdirs($(SUBDIRS))
DependSubdirs($(SUBDIRS))

View File

@@ -0,0 +1,18 @@
XCOMM $TOG: Imakefile /main/8 1998/08/10 15:53:13 mgreess $
#define IHaveSubdirs
#define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)' 'CXXDEBUGFLAGS=$(CXXDEBUGFLAGS)'
#ifndef CdeDesktop
SUBDIRS=bitmaps fonts nls
#else
SUBDIRS=bitmaps fonts
#endif
MakeSubdirs($(SUBDIRS))
DependSubdirs($(SUBDIRS))
InstallNonExecFile(mmdb.mark.spec,$(INSTALL_ETC_DIR))
#ifndef CdeDesktop
InstallLibFile(XKeysymDB)
#endif

View File

@@ -0,0 +1,44 @@
XCOMM $XConsortium: Imakefile /main/4 1996/06/11 16:10:38 cde-hal $
FILES= \
bomb \
bomb16 \
bomb16m \
bomb32 \
bomb32m \
bombm \
browse.xbm \
browse_ins.xbm \
web_browse.xbm \
web_browse_ins.xbm \
default.xpm \
deiconify.xbm \
detached.xpm \
help.xbm \
help_ins.xbm \
history.xbm \
history_ins.xbm \
iconify.xbm \
locked.xbm \
logo.xpm.ps \
marks.xbm \
marks_ins.xbm \
pinin.xbm \
pinmid.xbm \
pinout.xbm \
quit.xbm \
search.xbm \
search_ins.xbm \
semilocked.xbm \
unlocked.xbm \
xm_hour16 \
xm_hour16m \
xm_hour32 \
xm_hour32m \
xm_noenter16 \
xm_noenter16m \
xm_noenter32 \
xm_noenter32m
XCOMM The last dir level for install is for language, default C
InstallMultiple($(FILES),$(INSTALL_BITMAPS_DIR)/C)
InstallMultiple($(FILES),$(INSTALL_BITMAPS_DIR)/ja)

View File

@@ -0,0 +1,8 @@
#define bomb_width 16
#define bomb_height 16
#define bomb_x_hot 6
#define bomb_y_hot 9
static char bomb_bits[] = {
0x00, 0x00, 0x00, 0x17, 0xc0, 0x28, 0xc0, 0x14, 0xf0, 0x21, 0xfc, 0x07,
0xec, 0x07, 0xe6, 0x0f, 0xf6, 0x0f, 0xf6, 0x0f, 0xfe, 0x0f, 0xfe, 0x0f,
0xfc, 0x07, 0xfc, 0x07, 0xf0, 0x01, 0x00, 0x00};

View File

@@ -0,0 +1,8 @@
#define bomb_width 16
#define bomb_height 16
#define bomb_x_hot 6
#define bomb_y_hot 9
static char bomb_bits[] = {
0x00, 0x00, 0x00, 0x17, 0xc0, 0x28, 0xc0, 0x14, 0xf0, 0x21, 0xfc, 0x07,
0xec, 0x07, 0xe6, 0x0f, 0xf6, 0x0f, 0xf6, 0x0f, 0xfe, 0x0f, 0xfe, 0x0f,
0xfc, 0x07, 0xfc, 0x07, 0xf0, 0x01, 0x00, 0x00};

View File

@@ -0,0 +1,6 @@
#define bombm_width 16
#define bombm_height 16
static char bombm_bits[] = {
0x80, 0x3f, 0xe0, 0x7f, 0xe0, 0x7f, 0xf8, 0x7f, 0xfe, 0x7f, 0xfe, 0x6f,
0xff, 0x0f, 0xff, 0x1f, 0xff, 0x1f, 0xff, 0x1f, 0xff, 0x1f, 0xff, 0x1f,
0xff, 0x1f, 0xfe, 0x0f, 0xfe, 0x0f, 0xf8, 0x03};

View File

@@ -0,0 +1,16 @@
#define bomb_width 32
#define bomb_height 32
#define bomb_x_hot 12
#define bomb_y_hot 19
static char bomb_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0f, 0x00, 0x00, 0xe0, 0xb8, 0x00,
0x00, 0x30, 0x60, 0x02, 0x00, 0x10, 0x40, 0x01, 0x00, 0x10, 0xa0, 0x04,
0x00, 0x7c, 0x00, 0x01, 0x00, 0x74, 0x40, 0x04, 0x00, 0xf7, 0x81, 0x02,
0x80, 0xff, 0x07, 0x00, 0xe0, 0xff, 0x0f, 0x00, 0xf0, 0xff, 0x1f, 0x00,
0x38, 0xff, 0x3f, 0x00, 0x98, 0xff, 0x3f, 0x00, 0x9c, 0xff, 0x7f, 0x00,
0xcc, 0xff, 0x7f, 0x00, 0xce, 0xff, 0xff, 0x00, 0xce, 0xff, 0xff, 0x00,
0xce, 0xff, 0xff, 0x00, 0xce, 0xff, 0xff, 0x00, 0xce, 0xff, 0xff, 0x00,
0xfe, 0xff, 0xff, 0x00, 0xfe, 0xff, 0xff, 0x00, 0xfc, 0xff, 0x7f, 0x00,
0xfc, 0xff, 0x7f, 0x00, 0xf8, 0xff, 0x3f, 0x00, 0xf8, 0xff, 0x3f, 0x00,
0xf0, 0xff, 0x1f, 0x00, 0xe0, 0xff, 0x0f, 0x00, 0x80, 0xff, 0x03, 0x00,
0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

View File

@@ -0,0 +1,14 @@
#define bombm_width 32
#define bombm_height 32
static char bombm_bits[] = {
0x00, 0xc0, 0x1f, 0x00, 0x00, 0xf0, 0xff, 0x01, 0x00, 0xf8, 0xff, 0x07,
0x00, 0xf8, 0xfd, 0x07, 0x00, 0x78, 0xe0, 0x0f, 0x00, 0xfe, 0xf0, 0x0f,
0x00, 0xfe, 0xf0, 0x0f, 0x80, 0xff, 0xe3, 0x0f, 0xc0, 0xff, 0xcf, 0x0f,
0xf0, 0xff, 0x9f, 0x07, 0xf8, 0xff, 0x3f, 0x00, 0xfc, 0xff, 0x7f, 0x00,
0xfc, 0xff, 0x7f, 0x00, 0xfe, 0xff, 0xff, 0x00, 0xfe, 0xff, 0xff, 0x00,
0xff, 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01,
0xff, 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01,
0xff, 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0x01,
0xfe, 0xff, 0xff, 0x00, 0xfe, 0xff, 0xff, 0x00, 0xfc, 0xff, 0x7f, 0x00,
0xfc, 0xff, 0x7f, 0x00, 0xf8, 0xff, 0x3f, 0x00, 0xf0, 0xff, 0x1f, 0x00,
0xc0, 0xff, 0x07, 0x00, 0x00, 0xff, 0x01, 0x00};

View File

@@ -0,0 +1,6 @@
#define bombm_width 16
#define bombm_height 16
static char bombm_bits[] = {
0x80, 0x3f, 0xe0, 0x7f, 0xe0, 0x7f, 0xf8, 0x7f, 0xfe, 0x7f, 0xfe, 0x6f,
0xff, 0x0f, 0xff, 0x1f, 0xff, 0x1f, 0xff, 0x1f, 0xff, 0x1f, 0xff, 0x1f,
0xff, 0x1f, 0xfe, 0x0f, 0xfe, 0x0f, 0xf8, 0x03};

View File

@@ -0,0 +1,13 @@
/* $XConsortium: browse.xbm /main/2 1996/07/24 16:09:42 drk $ */
#define browse2_width 25
#define browse2_height 25
static char browse2_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x9c, 0x04, 0x00,
0x00, 0x73, 0x19, 0x00, 0x80, 0x50, 0x22, 0x00, 0xe0, 0x9f, 0x7e, 0x00,
0x50, 0x90, 0x42, 0x00, 0x48, 0x17, 0x43, 0x00, 0x7c, 0xf5, 0x7f, 0x00,
0x54, 0xb7, 0x42, 0x00, 0x6c, 0xf5, 0x7f, 0x00, 0x7c, 0x17, 0x7e, 0x00,
0x44, 0x10, 0x42, 0x00, 0x44, 0x17, 0x7e, 0x00, 0x7c, 0xf5, 0x43, 0x00,
0x6c, 0xb7, 0x42, 0x00, 0x54, 0x50, 0x43, 0x00, 0x6c, 0xb7, 0x5a, 0x00,
0x54, 0x55, 0x53, 0x00, 0x6c, 0xf7, 0x5b, 0x00, 0x54, 0xf5, 0x53, 0x00,
0x6c, 0xb7, 0x5a, 0x00, 0x54, 0x50, 0x43, 0x00, 0xfc, 0xff, 0x7f, 0x00,
0x00, 0x00, 0x00, 0x00};

View File

@@ -0,0 +1,13 @@
/* $XConsortium: browse_ins.xbm /main/2 1996/07/24 16:09:57 drk $ */
#define browse_ins_width 25
#define browse_ins_height 25
static unsigned char browse_ins_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x8c, 0x04, 0x00,
0x00, 0x73, 0x19, 0x00, 0x80, 0x40, 0x22, 0x00, 0x60, 0x95, 0x54, 0x00,
0x10, 0x80, 0x02, 0x00, 0x48, 0x15, 0x41, 0x00, 0x28, 0xa2, 0x26, 0x00,
0x54, 0x15, 0x40, 0x00, 0x28, 0xa2, 0x2a, 0x00, 0x7c, 0x15, 0x54, 0x00,
0x00, 0x00, 0x02, 0x00, 0x44, 0x15, 0x54, 0x00, 0x38, 0x42, 0x03, 0x00,
0x6c, 0xb5, 0x40, 0x00, 0x10, 0x40, 0x03, 0x00, 0x6c, 0xb5, 0x48, 0x00,
0x10, 0x42, 0x13, 0x00, 0x6c, 0xb5, 0x48, 0x00, 0x10, 0x42, 0x13, 0x00,
0x6c, 0xb5, 0x58, 0x00, 0x10, 0x42, 0x01, 0x00, 0x54, 0x55, 0x55, 0x00,
0x00, 0x00, 0x00, 0x00};

View File

@@ -0,0 +1,36 @@
/* XPM */
/* $XConsortium: default.xpm /main/2 1996/07/24 16:06:23 drk $ */
static char *default2[] = {
/* width height num_colors chars_per_pixel */
" 170 26 2 1",
/* colors */
". c #000000",
"# c #ffffff",
/* pixels */
"##########################################################################################################################################################################",
"##########################################################################################################################################################################",
"##########################################################################################################################################################################",
"##########################################################################################################################################################################",
"#######.....###############################..########..#################..#######..########################################..##..###########..#########..#################",
"#####.........#############################..########..#################..#######..########################################..##..###########..#########..#################",
"####...#####...############################..###########################..#######..############################################..###########..#########..#################",
"####..#######..############################..###########################..#######..############################################..###########..#########..#################",
"###...#######..##..#..##.....###..#....####..##...###..####.....########..#######..##..##...####.....###..####..###.....###..##..###.....###..#....####..####....#########",
"###..############..#..#...#...##........###..#.....##..###.......#######..#######..##..#.....##...#...##..####..##...#...##..##..##...#...##........###..###......########",
"###..############...###..###..##...###..###...###..##..###..###..#######..#######..##...###..##..###..##..####..##..###..##..##..##..###..##...###..###..##..####..#######",
"###..#####.....##..########...##..#####..##..####..##..##..#############..#######..##..####..######...###..##..#######...##..##..######...##..#####..##..##..####..#######",
"###..#####.....##..#####......##..#####..##..####..##..##..#############..#######..##..####..###......###..##..####......##..##..###......##..#####..##..##........#######",
"###...#######..##..####...##..##..#####..##..####..##..##..#############..#######..##..####..##...##..###..##..###...##..##..##..##...##..##..#####..##..##..#############",
"####..#######..##..####..###..##..#####..##..####..##..##..#############..#######..##..####..##..###..####.##.####..###..##..##..##..###..##..#####..##..##..#############",
"####...#####...##..####..###..##...###..###..####..##..###..###..########..#####..###..####..##..###..####....####..###..##..##..##..###..##...###..###..##...###..#######",
"#####..........##..####...#...##........###..####..##..###.......########.........###..####..##...#...#####..#####...#...##..##..##...#...##........###..###.......##..###",
"#######.....#..##..#####...#..##..#....####..####..##..####.....###########.....#####..####..###...#..#####..######...#..##..##..###...#..##..#....####..####....####..###",
"################################..########################################################################################################################################",
"################################..########################################################################################################################################",
"################################..########################################################################################################################################",
"################################..########################################################################################################################################",
"##########################################################################################################################################################################",
"##########################################################################################################################################################################",
"##########################################################################################################################################################################",
"##########################################################################################################################################################################",
};

View File

@@ -0,0 +1,13 @@
/* $XConsortium: deiconify.xbm /main/2 1996/07/24 16:10:13 drk $ */
#define deiconify_width 25
#define deiconify_height 25
static char deiconify_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x7c, 0x00,
0x1c, 0x00, 0x70, 0x00, 0x3c, 0x00, 0x78, 0x00, 0x74, 0x00, 0x5c, 0x00,
0xe4, 0x00, 0x4e, 0x00, 0xc0, 0x01, 0x07, 0x00, 0x80, 0x00, 0x02, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0xc4, 0x00, 0x00,
0x00, 0xc4, 0x00, 0x00, 0x00, 0xc4, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00,
0x00, 0xf8, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x80, 0x03, 0x07, 0x00,
0xc8, 0x01, 0x4e, 0x00, 0xe8, 0x00, 0x5c, 0x00, 0x78, 0x00, 0x78, 0x00,
0x38, 0x00, 0x70, 0x00, 0xf8, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00};

View File

@@ -0,0 +1,119 @@
/* XPM */
/* $XConsortium: detached.xpm /main/2 1996/07/24 16:06:41 drk $ */
static char *noname[] = {
/* width height ncolors chars_per_pixel */
"84 109 2 1",
/* colors */
"a c black s c0 ",
"` c white s c1 ",
/* pixels */
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"aaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```aaaaaaaaaaaaaaaa```aaaaaaaaaaaaaa",
"aaaaaaaaaaaa``aa```aaaaaaaaaa``aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa",
"aaaaaaaaaaaa``aaa```aaaaaaaaa``aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa",
"aaaaaaaaaaaa``aaaa``aa````aa`````aa````aaa`````aa`````aaaa````aaa`````aaaaaaaaaaaaaa",
"aaaaaaaaaaaa``aaaa``a``aa``aa``aaa``aa``a```a``aa``````aa``aa``a``aa``aaaaaaaaaaaaaa",
"aaaaaaaaaaaa``aaaa``a``````aa``aaaa`````a``aaaaaa``aa``aa``````a``aa``aaaaaaaaaaaaaa",
"aaaaaaaaaaaa``aaa```a``aaaaaa``aaa``aa``a``aaaaaa``aa``aa``aaaaa``aa``aaaaaaaaaaaaaa",
"aaaaaaaaaaaa``aa```aa```a``aa``a````````a```a``aa``aa``aa```a``a``a```aaaaaaaaaaaaaa",
"aaaaaaaaaaa```````aaaa````aaaa```aa``a```a````aa```a````aa````aaa``a```aaaaaaaaaaaaa",
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"aaaaaa`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`aaaaa",
"aaaaa`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`aaaaaa",
"aaaaaa`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`aaaaa",
"aaaaa`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`aaaaaa",
"aaaaaa`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`aaaaa",
"aaaaa`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`aaaaaa",
"aaaaaa`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`aaaaa",
"aaaaa`a`a`a`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a`a`a`a`a`a`a`aaaaaa",
"aaaaaa`a`a`a`````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a`a`a`a`a`a`a`aaaaa",
"aaaaa`a`a`a``````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a`a`a`a`a`a`a`aaaaaa",
"aaaaaa`a`a`aa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a`a`a`a`a`a`a`aaaaa",
"aaaaa`a`a`a`a``````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a`a`a`a`a`a`a`aaaaaa",
"aaaaaa`a`a`aa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a`a`a`a`a`a`a`aaaaa",
"aaaaa`a`a`a`aa```````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a`a`a`a`a`a`a`aaaaaa",
"aaaaaa`a`a`aaa``aaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a`a`a`a`a`a`a`aaaaa",
"aaaaa`a`a`a`aa`aaaaa```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a`a`a`a`a`a`a`aaaaaa",
"aaaaaa`a`a`aaaaaaaaaa````````````````````````````````````````````````````a`a`a`aaaaa",
"aaaaa`a`a`a`aaaaaaaaaa````````````````````````````````````````````````````a`a`aaaaaa",
"aaaaaa`a`a`aaaaaaaaaaa```````````````````````````````````````````````````a`a`a`aaaaa",
"aaaaa`a`a`a`aaaaaaaaaa````````````````````````````````````````````````````a`a`aaaaaa",
"aaaaaa`a`a`aaaaaaaaaaa```````````````````````````````````````````````````a`a`a`aaaaa",
"aaaaa`a`a`a`aaaaaaaaaa````````````````````````````````````````````````````a`a`aaaaaa",
"aaaaaa`a`a`aaaaaaaaaaa```````````````````````````````````````````````````a`a`a`aaaaa",
"aaaaa`a`a`a`aaaaaaaaaa````````````````````````````````````````````````````a`a`aaaaaa",
"aaaaaa`a`a`aaaaaaaaaaa`````````````````aaaaaaaaaaaaaaaaaaaaaaaaaa````````a`a`a`aaaaa",
"aaaaa`a`a`a`aaaaaaaaaa````````````````aa```````````````````````aa`````````a`a`aaaaaa",
"aaaaaa`a`a`aaaaaaaaaaa```````````````a`a``````````````````````a`a````````a`a`a`aaaaa",
"aaaaa`a`a`a`aaaaaaaaaa``````````````a``a`````````````````````a``a`````````a`a`aaaaaa",
"aaaaaa`a`a`aaaaaaaaaaa`````````````a```a````````````````````a```a````````a`a`a`aaaaa",
"aaaaa`a`a`a`aaaaaaaaaa````````````a````a```````````````````a````a`````````a`a`aaaaaa",
"aaaaaa`a`a`aaaaaaaaaaa```````````a`````a``````````````````a`````a````````a`a`a`aaaaa",
"aaaaa`a`a`a`aaaaaaaaaa``````````a``````a`````````````````a``````a`````````a`a`aaaaaa",
"aaaaaa`a`a`aaaaaaaaaaa`````````a```````a````````````````a```````a````````a`a`a`aaaaa",
"aaaaa`a`a`a`aaaaaaaaaa````````a````````a```````````````a````````a`````````a`a`aaaaaa",
"aaaaaa`a`a`aaaaaaaaaaa```````aaaaaaaaaaaaaaaaaaaaaaaaaa`````````a````````a`a`a`aaaaa",
"aaaaa`a`a`a`aaaaaaaaaa```````a`````````a``````````````a`````````a`````````a`a`aaaaaa",
"aaaaaa`a`a`aaaaaaaaaaa```````a`````````a``````````````a`````````a````````a`a`a`aaaaa",
"aaaaa`a`a`a`aaaaaaaaaa```````a`````````a``````````````a`````````a`````````a`a`aaaaaa",
"aaaaaa`a`a`aaaaaaaaaaa```````a`````````a``````````````a`````````a````````a`a`a`aaaaa",
"aaaaa`a`a`a`aaaaaaaaaa```````a`````````a``````````````a`````````a`````````a`a`aaaaaa",
"aaaaaa`a`a`aaaaaaaaaaa```````a`````````a``````````````a`````````a````````a`a`a`aaaaa",
"aaaaa`a`a`a`aaaaaaaaaa```````a`````````a``````````````a`````````a`````````a`a`aaaaaa",
"aaaaaa`a`a`aaaaaaaaaaa```````a`````````a``````````````a`````````a````````a`a`a`aaaaa",
"aaaaa`a`a`a`aaaaaaaaaa```````a`````````a``````````````a`````````a`````````a`a`aaaaaa",
"aaaaaa`a`a`aaaaaaaaaaa```````a`````````a``````````````a`````````a````````a`a`a`aaaaa",
"aaaaa`a`a`a`aaaaaaaaaa```````a`````````a``````````````a`````````a`````````a`a`aaaaaa",
"aaaaaa`a`a`aaaaaaaaaaa```````a`````````a``````````````a`````````a````````a`a`a`aaaaa",
"aaaaa`a`a`a`aaaaaaaaaa```````a`````````a``````````````a`````````a`````````a`a`aaaaaa",
"aaaaaa`a`a`aaaaaaaaaaa```````a`````````a``````````````a`````````a````````a`a`a`aaaaa",
"aaaaa`a`a`a`aaaaaaaaaa```````a`````````aaaaaaaaaaaaaaaaaaaaaaaaaa`````````a`a`aaaaaa",
"aaaaaa`a`a`aaaaaaaaaaa```````a`````````a``````````````a````````a`````````a`a`a`aaaaa",
"aaaaa`a`a`a`aaaaaaaaaa```````a````````a```````````````a```````a```````````a`a`aaaaaa",
"aaaaaa`a`a`aaaaaaaaaaa```````a```````a````````````````a``````a```````````a`a`a`aaaaa",
"aaaaa`a`a`a`aaaaaaaaaa```````a``````a`````````````````a`````a`````````````a`a`aaaaaa",
"aaaaaa`a`a`aaaaaaaaaaa```````a`````a``````````````````a````a`````````````a`a`a`aaaaa",
"aaaaa`a`a`a`aaaaaaaaaa```````a````a```````````````````a```a```````````````a`a`aaaaaa",
"aaaaaa`a`a`aaaaaaaaaaa```````a```a````````````````````a``a```````````````a`a`a`aaaaa",
"aaaaa`a`a`a`aaaaaaaaaa```````a``a`````````````````````a`a`````````````````a`a`aaaaaa",
"aaaaaa`a`a`a`a`a`a`a`a```````a`a``````````````````````aa`````````````````a`a`a`aaaaa",
"aaaaa`a`a`a`a`a`a`a`a````````aaaaaaaaaaaaaaaaaaaaaaaaaa```````````````````a`a`aaaaaa",
"aaaaaa`a`a`a`a`a`a`a`a```````````````````````````````````````````````````a`a`a`aaaaa",
"aaaaa`a`a`a`a`a`a`a`a`````````````````````````````````````````````````````a`a`aaaaaa",
"aaaaaa`a`a`a`a`a`a`a`a```````````````````````````````````````````````````a`a`a`aaaaa",
"aaaaa`a`a`a`a`a`a`a`a`````````````````````````````````````````````````````a`a`aaaaaa",
"aaaaaa`a`a`a`a`a`a`a`a```````````````````````````````````````````````````a`a`a`aaaaa",
"aaaaa`a`a`a`a`a`a`a`a`````````````````````````````````````````````````````a`a`aaaaaa",
"aaaaaa`a`a`a`a`a`a`a`a```````````````````````````````````````````````````a`a`a`aaaaa",
"aaaaa`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`aaaaaa",
"aaaaaa`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`aaaaa",
"aaaaa`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`aaaaaa",
"aaaaaa`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`aaaaa",
"aaaaa`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`aaaaaa",
"aaaaaa`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`aaaaa",
"aaaaa`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`aaaaaa",
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"aaaaaaaaaaaaaaaaaa`````a`aaaaaaaaaaaaaaaaaaaaaa```aaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa",
"aaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaa``aaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa",
"aaaaaaaaaaaaaaaa```aaaaa`aaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"aaaaaaaaaaaaaaaa``aaaaaaaa```a``a````aa```a``aaa`````aa```aaa`````aaaaaaaaaaaaaaaaaa",
"aaaaaaaaaaaaaaaa``aaaaaaaaa```````aa``aa```a``aa``````aa``aa```a``aaaaaaaaaaaaaaaaaa",
"aaaaaaaaaaaaaaaa``aaaa````a``aaaa`````aa``aa``aa``aa``aa``aa``aaaaaaaaaaaaaaaaaaaaaa",
"aaaaaaaaaaaaaaaa```aaaa``aa``aaa``aa``aa``aa``aa``aa``aa``aa``aaaaaaaaaaaaaaaaaaaaaa",
"aaaaaaaaaaaaaaaaa```aa```aa``aaa``````aa``aa``aa``aa``aa``aa```a``aaaaaaaaaaaaaaaaaa",
"aaaaaaaaaaaaaaaaaa`````a`a````aaa``a```a`````aa```a````````aa````aaaaaaaaaaaaaaaaaaa",
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
};

View File

@@ -0,0 +1,13 @@
/* $XConsortium: help.xbm /main/2 1996/07/24 16:10:29 drk $ */
#define help_width 25
#define help_height 25
static char help_bits[] = {
0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0x0f, 0x00, 0x38, 0x00, 0x38, 0x00,
0x08, 0x7c, 0x60, 0x00, 0x0c, 0xfe, 0x60, 0x00, 0x04, 0xc7, 0xc1, 0x00,
0x04, 0x83, 0xc1, 0x00, 0x04, 0x87, 0xc1, 0x00, 0x04, 0xc7, 0xc1, 0x00,
0x04, 0xc6, 0xc0, 0x00, 0x04, 0xe0, 0xc0, 0x00, 0x04, 0x60, 0xc0, 0x00,
0x04, 0x70, 0xc0, 0x00, 0x04, 0x30, 0xc0, 0x00, 0x04, 0x30, 0xe0, 0x00,
0x0c, 0x00, 0x60, 0x00, 0x08, 0x30, 0x78, 0x00, 0xf8, 0x33, 0x3f, 0x00,
0xf0, 0x03, 0x0f, 0x00, 0x00, 0x02, 0x03, 0x00, 0x00, 0x02, 0x03, 0x00,
0x00, 0xc1, 0x03, 0x00, 0xe0, 0xff, 0x01, 0x00, 0xc0, 0x7f, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00};

View File

@@ -0,0 +1,13 @@
/* $XConsortium: help_ins.xbm /main/2 1996/07/24 16:10:44 drk $ */
#define help_ins_width 25
#define help_ins_height 25
static unsigned char help_ins_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x40, 0x55, 0x05, 0x00, 0x10, 0x00, 0x28, 0x00,
0x08, 0x28, 0x40, 0x00, 0x04, 0x54, 0x20, 0x00, 0x00, 0x82, 0x40, 0x00,
0x04, 0x01, 0x81, 0x00, 0x00, 0x82, 0x40, 0x00, 0x04, 0x45, 0x81, 0x00,
0x00, 0x82, 0x40, 0x00, 0x04, 0x40, 0x80, 0x00, 0x00, 0x20, 0x40, 0x00,
0x04, 0x50, 0x80, 0x00, 0x00, 0x20, 0x40, 0x00, 0x04, 0x10, 0xa0, 0x00,
0x08, 0x00, 0x40, 0x00, 0x00, 0x10, 0x28, 0x00, 0xa8, 0x22, 0x15, 0x00,
0x50, 0x01, 0x0a, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x01, 0x02, 0x00,
0x00, 0x40, 0x01, 0x00, 0xa0, 0xaa, 0x00, 0x00, 0x40, 0x55, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00};

View File

@@ -0,0 +1,13 @@
/* $XConsortium: history.xbm /main/2 1996/07/24 16:10:59 drk $ */
#define hist_width 25
#define hist_height 25
static char hist_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x40, 0x0d, 0x00, 0x00,
0x10, 0x0c, 0x00, 0x00, 0xd0, 0x0b, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00,
0xe0, 0x07, 0x00, 0x00, 0xf0, 0x07, 0x05, 0x00, 0xf0, 0x63, 0x05, 0x00,
0xf0, 0x61, 0x10, 0x00, 0xf0, 0xa0, 0x17, 0x00, 0xf0, 0xc0, 0x0f, 0x00,
0xe0, 0xc1, 0x0f, 0x00, 0xe0, 0xc1, 0x1f, 0x00, 0xe0, 0x83, 0x1f, 0x00,
0xe0, 0x03, 0x1f, 0x00, 0xe0, 0x03, 0x1e, 0x00, 0xc0, 0x01, 0x1e, 0x00,
0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x80, 0x0f, 0x00,
0x00, 0x80, 0x0f, 0x00, 0x00, 0x80, 0x0f, 0x00, 0x00, 0x00, 0x07, 0x00,
0x00, 0x00, 0x00, 0x00};

View File

@@ -0,0 +1,13 @@
/* $XConsortium: history_ins.xbm /main/2 1996/07/24 16:11:15 drk $ */
#define history_ins_width 25
#define history_ins_height 25
static unsigned char history_ins_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x40, 0x05, 0x00, 0x00,
0x10, 0x08, 0x00, 0x00, 0x90, 0x0a, 0x00, 0x00, 0x40, 0x05, 0x00, 0x00,
0xa0, 0x02, 0x00, 0x00, 0x50, 0x05, 0x05, 0x00, 0xa0, 0x42, 0x05, 0x00,
0x50, 0x21, 0x10, 0x00, 0xa0, 0xa0, 0x12, 0x00, 0x50, 0x40, 0x05, 0x00,
0xa0, 0x80, 0x0a, 0x00, 0x40, 0x41, 0x15, 0x00, 0xa0, 0x82, 0x0a, 0x00,
0x40, 0x01, 0x15, 0x00, 0xa0, 0x02, 0x0a, 0x00, 0x40, 0x01, 0x14, 0x00,
0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x80, 0x0a, 0x00,
0x00, 0x00, 0x05, 0x00, 0x00, 0x80, 0x0a, 0x00, 0x00, 0x00, 0x05, 0x00,
0x00, 0x00, 0x00, 0x00};

View File

@@ -0,0 +1,13 @@
/* $XConsortium: iconify.xbm /main/2 1996/07/24 16:11:32 drk $ */
#define iconify3_width 25
#define iconify3_height 25
static char iconify3_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x40, 0x00,
0x1c, 0x00, 0xe0, 0x00, 0x38, 0x01, 0x72, 0x00, 0x70, 0x01, 0x3a, 0x00,
0xe0, 0x01, 0x1e, 0x00, 0xc0, 0x01, 0x0e, 0x00, 0xf0, 0x01, 0x3e, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0xc4, 0x00, 0x00,
0x00, 0xc4, 0x00, 0x00, 0x00, 0xc4, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00,
0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x03, 0x3e, 0x00,
0x80, 0x03, 0x0e, 0x00, 0xc0, 0x03, 0x1e, 0x00, 0xe0, 0x02, 0x3a, 0x00,
0x70, 0x02, 0x72, 0x00, 0x38, 0x00, 0xe0, 0x00, 0x10, 0x00, 0x40, 0x00,
0x00, 0x00, 0x00, 0x00};

View File

@@ -0,0 +1,10 @@
/* $XConsortium: pinin.xbm /main/2 1996/07/24 16:12:36 drk $ */
#define pinin_width 30
#define pinin_height 17
static char pinin_bits[] = {
0x00, 0x70, 0x00, 0x00, 0x00, 0x8e, 0x01, 0x00, 0x80, 0x03, 0x02, 0x00,
0x40, 0x02, 0x02, 0x00, 0x20, 0x01, 0x04, 0x00, 0x20, 0x01, 0x04, 0x00,
0x10, 0x01, 0x04, 0x00, 0x10, 0x03, 0x06, 0x00, 0x10, 0x02, 0x02, 0x00,
0x30, 0x8e, 0x03, 0x00, 0x20, 0xfc, 0x01, 0x00, 0x60, 0xf4, 0x01, 0x00,
0xe0, 0xe9, 0x00, 0x00, 0xf0, 0x7f, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

View File

@@ -0,0 +1,154 @@
%!PS-Adobe-2.0 EPSF-2.0
% $XConsortium: logo.xpm.ps /main/2 1996/11/19 16:36:35 drk $
%%Title: default.ps
%%Creator: XV Version 3.00 Rev: 3/30/93 - by John Bradley
%%BoundingBox: 170 342 442 450
%%Pages: 1
%%DocumentFonts:
%%EndComments
%%EndProlog
%%Page: 1 1
% remember original state
/origstate save def
% build a temporary dictionary
20 dict begin
% define string to hold a scanline's worth of data
/pix 34 string def
% lower left corner
170 342 translate
% size of image (on paper, in 1/72inch coords)
272.01600 108.00000 scale
% dimensions of data
272 108 1
% mapping matrix
[272 0 0 -108 0 108]
{currentfile pix readhexstring pop}
image
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffff000003ffffffffffffffffffffffffffffffffffffffffffffffffffff
fffffffff0000000ffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffc00000041fffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffff800180ce87ffffffffffffffffffffffffffffffffffffffffffffffffff
fffffffe0039c66ec3ffffffffffffffffffffffffffffffffffffffffffffffffff
fffffffc035ce36e53ffffffffffffffffffffffffffffffffffffffffffffffffff
fffffff803ae71b351ffffffffffffffffffffffffffffffffffffffffffffffffff
fffffff001af79b1487fffffffffffffffffffffffffffffffffffffffffffffffff
ffffffe0008769d0483ffffffffffc079ffffffffffffffffff8ffffffffffffffff
ffffffc000032850000ffffffffff0019ffffffffffffffffff07fffffffffffffff
ffffffc0000020400007ffffffffe3e01ffffffffffffffffff07fffffffffffffff
ffffff80000000401c03ffffffffcff81ffffffffffffffffff07fffffffffffffff
ffffff80000000407c03ffffffff9ffc1ffffffffffffffffff07fffffffffffffff
ffffff8000000003fc01ffffffff9ffe1ffffffffffffffffff07fffffffffffffff
ffffff800000007ffc01ffffffff9fff1ffffffffffffffffff87fffffffffffffff
ffffff003ffc03fffe01ffffffff9fff1ffffffffffffffffff87fffffffffffffff
ffffff007ffffffffe03ffffffff8fff9ffffffffffffffffff87fffffffffffffff
ffffff007ffffffffe03ffffffff83ff9fe07e0706070600e038ffffffffffffffff
ffffff007ffffffffa03ffffffffc03fff801e0602060200e038ffffffffffffffff
ffffff007ffffffffb03ffffffffe001ff0f0fc443c44383f8fcffffffffffffffff
ffffff007ffffffffb03fffffffff0007e1f87c0c3c0c3c3f8fcffffffffffffffff
ffffff007ffffffff303fffffffffc003e1f87c1e7c1e7e3f9fcffffffffffffffff
ffffff007fffffffe303ffffffffffc01c3fc3c3ffc3ffe3f9fcffffffffffffffff
ffffff007ffffffff303ffffffff3ffc0c3fc3c3ffc3fff1f3fcffffffffffffffff
ffffff007ffffffff303ffffffff3fff8c3fc3c3ffc3fff1f3fcffffffffffffffff
ffffff007ffffffff303ffffffff1fffcc3fc3c7ffc7fff8e7fcffffffffffffffff
ffffff807ffffffc3203ffffffff1fffcc3fc3c7ffc7fff8e7fcffffffffffffffff
ffffff40401fffe00203ffffffff0fffcc3fc3c7ffc7fff84fffffffffffffffffff
fffffe20c00fffc00103ffffffff0fffcc3fc3c7ffc7fffc4fffffffffffffffffff
fffffe18ffc7ff0fe103ffffffff07ff9e1f87c7ffc7fffc0ff87fffffffffffffff
fffffe00f043fe007103ffffffff03ff1e1f87c7ffc7fffe1ff03fffffffffffffff
ffffff08c7c0fc0f1883ffffffff10fe3f0f0f83ff83fffe1ff03fffffffffffffff
ffffff0f8020f8001d83ffffffff38007f801e00fe00ffff3ff03fffffffffffffff
ffffff0f8d30f0359f87ffffffff3e01ffe07e00fe00ffff3ff87fffffffffffffff
ffffff0fdc40ff91ff87fffffffffffffffffffffffffffe7fffffffffffffffffff
ffffff0fff84ff818f87fffffffffffffffffffffffffffe7fffffffffffffffffff
ffffff87e20effe03f87ffffffffffffffffffffffffff1cffffffffffffffffffff
ffffff87f83cfff8ff97fffffffffffffffffffffffffe18ffffffffffffffffffff
ffffff97fe7dffffffa7fffffffffffffffffffffffffe11ffffffffffffffffffff
ffffffa7fffdffffffb7fffffffffffffffffffffffffe03ffffffffffffffffffff
ffffffa6fff9ffffff37ffffffffffffffffffffffffff07ffffffffffffffffffff
ffffffb6fff1ffffff87ffffffffffffffffffffffffffffffffffffffffffffffff
ffffffc67fd1fffffd4fffffffffffffffffffffffffffffffffffffffffffffffff
ffffffe67fa1ff47f97fffffffffffffffffffffffffffffffffffffffffffffffff
fffffffa3e61fc63f17fffffffffffffffffffffffffffffffffffffffffffffffff
fffffffa3cc0f0f0e17fffffffffffffffffffffffffffffffffffffffffffffffff
fffffff801c001f8017fffffffffffffffffffffffffffffffffffffffffffffffff
fffffffc070007fc017fffffffffffffffffffffffffffffffffffffffffffffffff
fffffffc08000fc0007fffffffffffffffffffffffffffffffffffffffffffffffff
fffffffc4c00fc01f0ffffffffffffffffffffffffffffffffffffffffffffffffff
fffffffe6e1e01e7f1ffffffffffffffffffffffffffffffffffffffffffffffffff
fffffffe6e0fffcfe1ffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffff6e02001fe3fffffc1fffffffcff3fffe7f3fffffffffccffe7fcffffffff
ffffffff270fff3fc3fffff007ffffffcff3fffe7f3fffffffffccffe7fcffffffff
ffffffff2781007fc7ffffe3e3ffffffcffffffe7f3ffffffffffcffe7fcffffffff
ffffffffb78001ff87ffffe7f3ffffffcffffffe7f3ffffffffffcffe7fcffffffff
ffffffff9300ffff8fffffc7f3260e43cc73c1fe7f331e0e79c1cce0e43cf0ffffff
ffffffffda10007f1fffffcfff244601c83380fe7f320c467988ccc4601ce07fffff
ffffffffcc3000ff1fffffcfff1ce639c7339cfe7f31cce6799cccce639ccf3fffff
ffffff8fe8707ffe3fffffcf833fc67ccf333ffe7f33cfc733f8ccfc67cccf3fffff
fffffe73f061fffc7fffffcf833e067ccf333ffe7f33ce0733c0cce067ccc03fffff
fffffd99c0e3fffc7fffffc7f33c667ccf333ffe7f33cc67338cccc667cccfffffff
fffffa1981c3fff8ffffffe7f33ce67ccf333ffe7f33cce7b79cccce67cccfffffff
fffff6310203fff1ffffffe3e33ce639cf339cff3e73cce7879cccce639cc73fffff
fffff7e00703ffe3fffffff0033c4601cf3380ff0073cc47cf88ccc4601ce033ffff
fffff6700f8001c7fffffffc133e2643cf33c1ffc1f3ce27cfc4cce2643cf0f3ffff
fffff0701fc0000ffffffffffffffe7fffffffffffffffffffffffffffffffffffff
fffff0383ffff03ffffffffffffffe7fffffffffffffffffffffffffffffffffffff
fffff8387ffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffff
fffff818fffffffffffffffffffffe7fffffffffffffffffffffffffffffffffffff
fffffc18ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
fffffe01ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffff03ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
showpage
% stop using temporary dictionary
end
% restore original state
origstate restore
%%Trailer

View File

@@ -0,0 +1,13 @@
/* $XConsortium: marks.xbm /main/2 1996/07/24 16:11:50 drk $ */
#define marks_width 25
#define marks_height 25
static char marks_bits[] = {
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0x10, 0xc0, 0x01, 0x00,
0x50, 0x55, 0x03, 0x00, 0x90, 0x4a, 0x06, 0x00, 0x50, 0x55, 0x0c, 0x00,
0x10, 0x40, 0x18, 0x00, 0x10, 0x40, 0x30, 0x00, 0x50, 0xd5, 0x3f, 0x00,
0x90, 0x8a, 0x3f, 0x00, 0x50, 0x15, 0x30, 0x00, 0x10, 0x00, 0x30, 0x00,
0x10, 0x00, 0x30, 0x00, 0x50, 0x55, 0x35, 0x00, 0x90, 0xaa, 0x32, 0x00,
0x50, 0x55, 0x35, 0x00, 0x10, 0x00, 0x30, 0x00, 0x10, 0x00, 0x30, 0x00,
0x50, 0x55, 0x35, 0x00, 0x90, 0xaa, 0x32, 0x00, 0x50, 0x55, 0x35, 0x00,
0x10, 0x00, 0x30, 0x00, 0xf0, 0xff, 0x3f, 0x00, 0xc0, 0xff, 0x3f, 0x00,
0x00, 0x00, 0x00, 0x00};

View File

@@ -0,0 +1,13 @@
/* $XConsortium: marks_ins.xbm /main/2 1996/07/24 16:12:08 drk $ */
#define marks_ins_width 25
#define marks_ins_height 25
static unsigned char marks_ins_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x50, 0x55, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00,
0x50, 0x55, 0x02, 0x00, 0x80, 0x08, 0x04, 0x00, 0x10, 0x51, 0x08, 0x00,
0x00, 0x00, 0x10, 0x00, 0x10, 0x40, 0x10, 0x00, 0x40, 0x95, 0x2a, 0x00,
0x90, 0x08, 0x15, 0x00, 0x00, 0x11, 0x20, 0x00, 0x10, 0x00, 0x10, 0x00,
0x00, 0x00, 0x20, 0x00, 0x50, 0x55, 0x15, 0x00, 0x80, 0x88, 0x20, 0x00,
0x10, 0x11, 0x11, 0x00, 0x00, 0x00, 0x20, 0x00, 0x10, 0x00, 0x10, 0x00,
0x40, 0x55, 0x25, 0x00, 0x90, 0x88, 0x10, 0x00, 0x00, 0x11, 0x21, 0x00,
0x10, 0x00, 0x10, 0x00, 0xa0, 0xaa, 0x2a, 0x00, 0x40, 0x55, 0x15, 0x00,
0x00, 0x00, 0x00, 0x00};

View File

@@ -0,0 +1,10 @@
/* $XConsortium: pinin.xbm /main/2 1996/07/24 16:12:36 drk $ */
#define pinin_width 30
#define pinin_height 17
static char pinin_bits[] = {
0x00, 0x70, 0x00, 0x00, 0x00, 0x8e, 0x01, 0x00, 0x80, 0x03, 0x02, 0x00,
0x40, 0x02, 0x02, 0x00, 0x20, 0x01, 0x04, 0x00, 0x20, 0x01, 0x04, 0x00,
0x10, 0x01, 0x04, 0x00, 0x10, 0x03, 0x06, 0x00, 0x10, 0x02, 0x02, 0x00,
0x30, 0x8e, 0x03, 0x00, 0x20, 0xfc, 0x01, 0x00, 0x60, 0xf4, 0x01, 0x00,
0xe0, 0xe9, 0x00, 0x00, 0xf0, 0x7f, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

View File

@@ -0,0 +1,10 @@
/* $XConsortium: pinmid.xbm /main/2 1996/07/24 16:12:57 drk $ */
#define pinmid_width 30
#define pinmid_height 17
static char pinmid_bits[] = {
0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x23, 0x00, 0x80, 0x07, 0x41, 0x00,
0xc0, 0xe8, 0x41, 0x00, 0x40, 0x3c, 0x81, 0x00, 0x40, 0x04, 0x81, 0x00,
0x40, 0x04, 0x82, 0x00, 0x40, 0x44, 0x85, 0x00, 0x80, 0xa8, 0xc6, 0x00,
0x80, 0xda, 0x79, 0x00, 0xe0, 0xf5, 0x00, 0x00, 0x78, 0xab, 0x00, 0x00,
0x0c, 0xd5, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

View File

@@ -0,0 +1,10 @@
/* $XConsortium: pinout.xbm /main/2 1996/07/24 16:13:16 drk $ */
#define pinout_width 30
#define pinout_height 17
static char pinout_bits[] = {
0x00, 0x70, 0x00, 0x00, 0x00, 0x90, 0x00, 0x03, 0x00, 0x90, 0x80, 0x04,
0x00, 0x90, 0xff, 0x04, 0x00, 0x90, 0x80, 0x04, 0x00, 0x90, 0x80, 0x04,
0xfc, 0x9f, 0x80, 0x05, 0xf8, 0xbf, 0xd5, 0x06, 0x00, 0xd0, 0xaa, 0x05,
0x00, 0xb0, 0xff, 0x06, 0x00, 0xd0, 0xff, 0x07, 0x00, 0xf0, 0x80, 0x07,
0x00, 0xf0, 0x00, 0x03, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

View File

@@ -0,0 +1,13 @@
/* $XConsortium: quit.xbm /main/2 1996/07/24 16:13:38 drk $ */
#define quit_width 25
#define quit_height 25
static char quit_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x18, 0x00, 0x78, 0x00, 0x3c, 0x00,
0xfc, 0x00, 0x1c, 0x00, 0xfc, 0x01, 0x0e, 0x00, 0xf0, 0x03, 0x07, 0x00,
0xc0, 0x87, 0x03, 0x00, 0x00, 0xcf, 0x01, 0x00, 0x00, 0xde, 0x01, 0x00,
0x00, 0xfc, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00,
0x00, 0xf8, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0xce, 0x01, 0x00,
0x00, 0x87, 0x03, 0x00, 0x80, 0x03, 0x03, 0x00, 0x80, 0x01, 0x07, 0x00,
0xc0, 0x01, 0x06, 0x00, 0xe0, 0x00, 0x0e, 0x00, 0x70, 0x00, 0x0c, 0x00,
0x38, 0x00, 0x1c, 0x00, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00};

View File

@@ -0,0 +1,13 @@
/* $XConsortium: search.xbm /main/2 1996/07/24 16:13:58 drk $ */
#define search_width 25
#define search_height 25
static char search_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x03, 0x00, 0x00, 0xf8, 0x0f, 0x00,
0x00, 0x1c, 0x1c, 0x00, 0x00, 0xc6, 0x31, 0x00, 0x00, 0x03, 0x67, 0x00,
0x00, 0x03, 0x6c, 0x00, 0x80, 0x01, 0xc8, 0x00, 0x80, 0x01, 0xd8, 0x00,
0x80, 0x01, 0xd8, 0x00, 0x80, 0x01, 0xd8, 0x00, 0x80, 0x01, 0xc8, 0x00,
0x00, 0x03, 0x6c, 0x00, 0x00, 0x03, 0x60, 0x00, 0x00, 0x06, 0x30, 0x00,
0x80, 0x1f, 0x1c, 0x00, 0x40, 0xfb, 0x0f, 0x00, 0xa0, 0xe3, 0x03, 0x00,
0xd0, 0x01, 0x00, 0x00, 0xe8, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00,
0x3a, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00};

View File

@@ -0,0 +1,13 @@
/* $XConsortium: search_ins.xbm /main/2 1996/07/24 16:14:17 drk $ */
#define search_ins_width 25
#define search_ins_height 25
static unsigned char search_ins_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xa8, 0x0a, 0x00,
0x00, 0x14, 0x14, 0x00, 0x00, 0x82, 0x20, 0x00, 0x00, 0x01, 0x45, 0x00,
0x00, 0x02, 0x28, 0x00, 0x00, 0x01, 0x40, 0x00, 0x80, 0x00, 0x88, 0x00,
0x00, 0x01, 0x50, 0x00, 0x80, 0x00, 0x88, 0x00, 0x00, 0x01, 0x40, 0x00,
0x00, 0x02, 0x28, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x02, 0x20, 0x00,
0x80, 0x16, 0x14, 0x00, 0x40, 0xa9, 0x0a, 0x00, 0xa0, 0x42, 0x01, 0x00,
0x50, 0x01, 0x00, 0x00, 0xa8, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00,
0x2a, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00};

View File

@@ -0,0 +1,10 @@
/* $XConsortium: pinmid.xbm /main/2 1996/07/24 16:12:57 drk $ */
#define pinmid_width 30
#define pinmid_height 17
static char pinmid_bits[] = {
0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x23, 0x00, 0x80, 0x07, 0x41, 0x00,
0xc0, 0xe8, 0x41, 0x00, 0x40, 0x3c, 0x81, 0x00, 0x40, 0x04, 0x81, 0x00,
0x40, 0x04, 0x82, 0x00, 0x40, 0x44, 0x85, 0x00, 0x80, 0xa8, 0xc6, 0x00,
0x80, 0xda, 0x79, 0x00, 0xe0, 0xf5, 0x00, 0x00, 0x78, 0xab, 0x00, 0x00,
0x0c, 0xd5, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

View File

@@ -0,0 +1,10 @@
/* $XConsortium: pinout.xbm /main/2 1996/07/24 16:13:16 drk $ */
#define pinout_width 30
#define pinout_height 17
static char pinout_bits[] = {
0x00, 0x70, 0x00, 0x00, 0x00, 0x90, 0x00, 0x03, 0x00, 0x90, 0x80, 0x04,
0x00, 0x90, 0xff, 0x04, 0x00, 0x90, 0x80, 0x04, 0x00, 0x90, 0x80, 0x04,
0xfc, 0x9f, 0x80, 0x05, 0xf8, 0xbf, 0xd5, 0x06, 0x00, 0xd0, 0xaa, 0x05,
0x00, 0xb0, 0xff, 0x06, 0x00, 0xd0, 0xff, 0x07, 0x00, 0xf0, 0x80, 0x07,
0x00, 0xf0, 0x00, 0x03, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

View File

@@ -0,0 +1,13 @@
/* $XConsortium: web_browse.xbm /main/2 1996/07/24 16:14:32 drk $ */
#define web_browse_width 25
#define web_browse_height 25
static unsigned char web_browse_bits[] = {
0x01, 0x3c, 0x00, 0x01, 0x02, 0x73, 0x80, 0x00, 0xe4, 0x90, 0x47, 0x00,
0x18, 0x38, 0x38, 0x00, 0x18, 0xd7, 0x31, 0x00, 0xe8, 0x10, 0x2e, 0x00,
0x48, 0x70, 0x2c, 0x00, 0xc8, 0x9c, 0x2b, 0x00, 0x24, 0x13, 0x4b, 0x00,
0x24, 0x93, 0x52, 0x00, 0x24, 0x55, 0x54, 0x00, 0x94, 0x38, 0x54, 0x00,
0xff, 0xff, 0xff, 0x01, 0x94, 0x38, 0x94, 0x00, 0x14, 0x55, 0x92, 0x00,
0x14, 0x93, 0x91, 0x00, 0x24, 0xd7, 0x89, 0x00, 0xa8, 0x38, 0x8a, 0x00,
0x68, 0x10, 0x4c, 0x00, 0xe8, 0x11, 0x4f, 0x00, 0x18, 0xfe, 0x50, 0x00,
0x18, 0x10, 0x60, 0x00, 0xe4, 0x11, 0x7c, 0x00, 0x02, 0xfe, 0x83, 0x00,
0x01, 0x10, 0x00, 0x01};

View File

@@ -0,0 +1,13 @@
/* $XConsortium: web_browse_ins.xbm /main/2 1996/07/24 16:14:49 drk $ */
#define web_browse_ins_width 25
#define web_browse_ins_height 25
static unsigned char web_browse_ins_bits[] = {
0x01, 0x34, 0x00, 0x01, 0x02, 0x53, 0x80, 0x00, 0xa4, 0x00, 0x45, 0x00,
0x08, 0x28, 0x28, 0x00, 0x10, 0x45, 0x11, 0x00, 0xa8, 0x10, 0x2a, 0x00,
0x40, 0x60, 0x0c, 0x00, 0xc8, 0x94, 0x22, 0x00, 0x24, 0x01, 0x49, 0x00,
0x00, 0x92, 0x42, 0x00, 0x24, 0x45, 0x14, 0x00, 0x90, 0x38, 0x40, 0x00,
0x55, 0x55, 0x55, 0x01, 0x90, 0x38, 0x84, 0x00, 0x04, 0x45, 0x12, 0x00,
0x10, 0x92, 0x81, 0x00, 0x04, 0x45, 0x09, 0x00, 0xa0, 0x38, 0x82, 0x00,
0x48, 0x10, 0x4c, 0x00, 0xa0, 0x00, 0x05, 0x00, 0x18, 0x54, 0x50, 0x00,
0x10, 0x80, 0x20, 0x00, 0x44, 0x11, 0x28, 0x00, 0x02, 0xaa, 0x82, 0x00,
0x01, 0x10, 0x00, 0x01};

View File

@@ -0,0 +1,8 @@
#define hour16_x_hot 7
#define hour16_y_hot 7
#define hour16_width 16
#define hour16_height 16
static char hour16_bits[] = {
0x00, 0x00, 0xfe, 0x7f, 0x14, 0x28, 0x14, 0x28, 0x14, 0x28, 0x24, 0x24,
0x44, 0x22, 0x84, 0x21, 0x84, 0x21, 0x44, 0x22, 0x24, 0x24, 0x14, 0x28,
0x94, 0x29, 0xd4, 0x2b, 0xfe, 0x7f, 0x00, 0x00};

View File

@@ -0,0 +1,6 @@
#define hour16m_width 16
#define hour16m_height 16
static char hour16m_bits[] = {
0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f,
0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f,
0xfe, 0x7f, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xff};

View File

@@ -0,0 +1,16 @@
#define hour32_width 32
#define hour32_height 32
#define hour32_x_hot 15
#define hour32_y_hot 15
static char hour32_bits[] = {
0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x7f, 0xfe, 0xff, 0xff, 0x7f,
0x8c, 0x00, 0x00, 0x31, 0x4c, 0x00, 0x00, 0x32, 0x4c, 0x00, 0x00, 0x32,
0x4c, 0x00, 0x00, 0x32, 0x4c, 0x00, 0x00, 0x32, 0x4c, 0x00, 0x00, 0x32,
0x8c, 0x00, 0x00, 0x31, 0x0c, 0x7f, 0xfe, 0x30, 0x0c, 0xfe, 0x7f, 0x30,
0x0c, 0xfc, 0x3f, 0x30, 0x0c, 0xf8, 0x1f, 0x30, 0x0c, 0xe0, 0x07, 0x30,
0x0c, 0x80, 0x01, 0x30, 0x0c, 0x80, 0x01, 0x30, 0x0c, 0x60, 0x06, 0x30,
0x0c, 0x18, 0x18, 0x30, 0x0c, 0x04, 0x20, 0x30, 0x0c, 0x02, 0x40, 0x30,
0x0c, 0x01, 0x80, 0x30, 0x8c, 0x00, 0x00, 0x31, 0x4c, 0x80, 0x01, 0x32,
0x4c, 0xc0, 0x03, 0x32, 0x4c, 0xf0, 0x1f, 0x32, 0x4c, 0xff, 0xff, 0x32,
0xcc, 0xff, 0xff, 0x33, 0x8c, 0xff, 0xff, 0x31, 0xfe, 0xff, 0xff, 0x7f,
0xfe, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00};

View File

@@ -0,0 +1,14 @@
#define hour32m_width 32
#define hour32m_height 32
static char hour32m_bits[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xcf, 0x00, 0x00, 0xf3, 0x6e, 0x00, 0x00, 0x76, 0x6e, 0x00, 0x00, 0x76,
0x6e, 0x00, 0x00, 0x76, 0x6e, 0x00, 0x00, 0x76, 0x6e, 0x00, 0x00, 0x76,
0xce, 0x00, 0x00, 0x73, 0x8e, 0x7f, 0xfe, 0x71, 0x0e, 0xff, 0xff, 0x70,
0x0e, 0xfe, 0x7f, 0x70, 0x0e, 0xfc, 0x3f, 0x70, 0x0e, 0xf8, 0x1f, 0x70,
0x0e, 0xe0, 0x07, 0x70, 0x0e, 0xe0, 0x07, 0x70, 0x0e, 0x78, 0x1e, 0x70,
0x0e, 0x1c, 0x38, 0x70, 0x0e, 0x06, 0x60, 0x70, 0x0e, 0x03, 0xc0, 0x70,
0x8e, 0x01, 0x80, 0x71, 0xce, 0x00, 0x00, 0x73, 0x6e, 0x80, 0x01, 0x76,
0x6e, 0xc0, 0x03, 0x76, 0x6e, 0xf0, 0x1f, 0x76, 0x6e, 0xff, 0xff, 0x76,
0xee, 0xff, 0xff, 0x77, 0xcf, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};

View File

@@ -0,0 +1,8 @@
#define noenter16_width 16
#define noenter16_height 16
#define noenter16_x_hot 7
#define noenter16_y_hot 7
static char noenter16_bits[] = {
0x00, 0x00, 0xc0, 0x03, 0xf0, 0x0f, 0xf8, 0x1f, 0xfc, 0x3f, 0xfc, 0x3f,
0xfe, 0x7f, 0x02, 0x40, 0x02, 0x40, 0xfe, 0x7f, 0xfc, 0x3f, 0xfc, 0x3f,
0xf8, 0x1f, 0xf0, 0x0f, 0xc0, 0x03, 0x00, 0x00};

View File

@@ -0,0 +1,6 @@
#define noenter16m_width 16
#define noenter16m_height 16
static char noenter16m_bits[] = {
0xc0, 0x03, 0xf0, 0x0f, 0xf8, 0x1f, 0xfc, 0x3f, 0xfe, 0x7f, 0xfe, 0x7f,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xfe, 0x7f,
0xfc, 0x3f, 0xf8, 0x1f, 0xf0, 0x0f, 0xc0, 0x03};

View File

@@ -0,0 +1,16 @@
#define noenter32_width 32
#define noenter32_height 32
#define noenter32_x_hot 15
#define noenter32_y_hot 15
static char noenter32_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0xfc, 0x3f, 0x00,
0x00, 0xff, 0xff, 0x00, 0x80, 0xff, 0xff, 0x01, 0xc0, 0xff, 0xff, 0x03,
0xe0, 0xff, 0xff, 0x07, 0xf0, 0xff, 0xff, 0x0f, 0xf8, 0xff, 0xff, 0x1f,
0xf8, 0xff, 0xff, 0x1f, 0xfc, 0xff, 0xff, 0x3f, 0xfc, 0xff, 0xff, 0x3f,
0xfc, 0xff, 0xff, 0x3f, 0x06, 0x00, 0x00, 0x60, 0x06, 0x00, 0x00, 0x60,
0x06, 0x00, 0x00, 0x60, 0x06, 0x00, 0x00, 0x60, 0x06, 0x00, 0x00, 0x60,
0x06, 0x00, 0x00, 0x60, 0xfc, 0xff, 0xff, 0x3f, 0xfc, 0xff, 0xff, 0x3f,
0xfc, 0xff, 0xff, 0x3f, 0xf8, 0xff, 0xff, 0x1f, 0xf8, 0xff, 0xff, 0x1f,
0xf0, 0xff, 0xff, 0x0f, 0xe0, 0xff, 0xff, 0x07, 0xc0, 0xff, 0xff, 0x03,
0x80, 0xff, 0xff, 0x01, 0x00, 0xff, 0xff, 0x00, 0x00, 0xfc, 0x3f, 0x00,
0x00, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00};

View File

@@ -0,0 +1,14 @@
#define noenter32m_width 32
#define noenter32m_height 32
static char noenter32m_bits[] = {
0x00, 0xe0, 0x07, 0x00, 0x00, 0xfc, 0x3f, 0x00, 0x00, 0xff, 0xff, 0x00,
0x80, 0xff, 0xff, 0x01, 0xc0, 0xff, 0xff, 0x03, 0xe0, 0xff, 0xff, 0x07,
0xf0, 0xff, 0xff, 0x0f, 0xf8, 0xff, 0xff, 0x1f, 0xfc, 0xff, 0xff, 0x3f,
0xfc, 0xff, 0xff, 0x3f, 0xfe, 0xff, 0xff, 0x7f, 0xfe, 0xff, 0xff, 0x7f,
0xfe, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f, 0xfe, 0xff, 0xff, 0x7f,
0xfe, 0xff, 0xff, 0x7f, 0xfc, 0xff, 0xff, 0x3f, 0xfc, 0xff, 0xff, 0x3f,
0xf8, 0xff, 0xff, 0x1f, 0xf0, 0xff, 0xff, 0x0f, 0xe0, 0xff, 0xff, 0x07,
0xc0, 0xff, 0xff, 0x03, 0x80, 0xff, 0xff, 0x01, 0x00, 0xff, 0xff, 0x00,
0x00, 0xfc, 0x3f, 0x00, 0x00, 0xe0, 0x07, 0x00};

View File

@@ -0,0 +1,9 @@
XCOMM $XConsortium: Imakefile /main/6 1996/09/13 17:26:30 drk $
OBJS = FontObj(dtinfo)
LinkSourceFile(dtinfo.bdf,$(CDESRC)/fontaliases/bdf)
MakeFonts()
FontTarget(dtinfo)

View File

@@ -0,0 +1,32 @@
# mmdb
# mark base spec template.
#
store page_store:
page_sz=1024:
cached_pages=50:
nm=$.dbd:
mode=r:
byte_order=big_endian
store page_store:
page_sz=1024:
cached_pages=50:
nm=$.dbi:
mode=r:
byte_order=big_endian
store page_store:
page_sz=1024:
cached_pages=50:
nm=$.dbh:
mode=r:
byte_order=big_endian
inv inv: nm=$.mark.inv:store_nm=$.dbi
index smphf_index: nm = $.mark_index: store_nm=$.dbi: position=1: inv_nm=$.mark.inv: agent_nm=$.dbh
container set: nm=$.mark: store_nm=$.dbd: index_nm=$.mark_index

View File

@@ -0,0 +1,2 @@
/* $XConsortium: AddLibraryAgent.d /main/2 1996/07/25 11:32:48 drk $ */
#define C_AddLibraryAgent

View File

@@ -0,0 +1,11 @@
// $XConsortium: AddLibraryAgent.hh /main/3 1996/06/11 17:40:54 cde-hal $
#ifndef _AddLibraryAgent_hh
#define _AddLibraryAgent_hh
#ifdef MOTIF
#include "AddLibraryAgentMotif.hh"
#else
#error Unable to determine which window system to use.
#endif
#endif

View File

@@ -0,0 +1,41 @@
$ $XConsortium: AddLibraryAgent.msg /main/8 1996/09/20 13:56:09 cde-hal $
$set Set_AddLibraryAgent
$
$ messages specific to add information library dialog
$ Note: "Infolib" is a CDE glossary term.
$
1 "Dtinfo: Add Document Library"
$ 2 "Please enter an absolute path to the Infolib."
$ (Path must exist and include "/".)
2 "Please enter an absolute path to the Infolib."
$ 3 "Infolib open failed. Check the path specified."
$ (Path passed basic format check, but could not open target found.)
3 "Infolib open failed. Check the path specified."
$ 4 "Infolib open failed. Check entry syntax or Infolib integrity."
$ (An unidentified error occurred on attempt to open.)
4 "Infolib open failed. Check entry syntax or Infolib integrity."
$ 5 "Infolib specification format error."
5 "Infolib specification format error."
$ 6 "No Infolib specified."
6 "No Infolib specified."
$ 7 "No Infolib found or specified."
7 "No Infolib found or specified."
$ 10 "Dtinfo: Infolib Selection"
$ (For title to the File Selection Dialog)
10 "Dtinfo: Infolib Selection"
$ 11 "No Infolibs Present"
$ (This string will be shown in a directory listing where there
$ are no Infolibs found in the directory.)
11 "No Infolibs Present"

View File

@@ -0,0 +1,82 @@
Dtinfo
*add_library_agent
deleteResponse: destroy
form
dialogStyle: dialog_full_application_modal
autoUnmanage: False
rightOffset: 10
leftOffset: 10
topOffset: 10
bottomOffset: 10
sub_form
top_form; left_form; right_form
theLabel
top_form; bottom_form; left_form
leftOffset: 5
topOffset: 5
bottomOffset: 5
rightOffset: 5
pick
sensitive: True
highlightThickness: 2
marginLeft: 2
marginRight: 2
top_form; bottom_form; right_form
leftAttachment: attach_none
rightOffset: 7
topOffset: 5
bottomOffset: 5
fontList: -dt-application-bold-r-normal-serif-12-*-iso8859-1
text
width: 250
focus: True
top_form; bottom_form; left_widget(theLabel); right_widget(pick)
leftOffset: 5
rightOffset: 5
topOffset: 5
bottomOffset: 5
separator
top_widget(sub_form); left_form; right_form
ok
sensitive: False
left_form
leftOffset: 5
rightAttachment: attach_position
rightPosition: 25
rightOffset: 5
top_widget(separator)
topOffset: 5
bottom_form
bottomOffset: 5
clear
sensitive: False
left_widget(ok)
leftOffset: 5
rightAttachment: attach_position
rightPosition: 50
rightOffset: 5
top_widget(separator)
topOffset: 5
bottom_form
bottomOffset: 5
cancel
sensitive: True
left_widget(clear)
leftOffset: 5
rightAttachment: attach_position
rightPosition: 75
rightOffset: 5
top_widget(separator)
topOffset: 5
bottom_form
bottomOffset: 5
help
sensitive: True
left_widget(cancel)
leftOffset: 5
rightOffset: 5
right_form
top_widget(separator)
topOffset: 5
bottom_form
bottomOffset: 5

View File

@@ -0,0 +1,288 @@
/*
* $TOG: AddLibraryAgentMotif.C /main/10 1998/08/05 11:46:23 mgreess $
*
* (c) Copyright 1996 Digital Equipment Corporation.
* (c) Copyright 1996 Hewlett-Packard Company.
* (c) Copyright 1996 International Business Machines Corp.
* (c) Copyright 1996 Sun Microsystems, Inc.
* (c) Copyright 1996 Novell, Inc.
* (c) Copyright 1996 FUJITSU LIMITED.
* (c) Copyright 1996 Hitachi.
*
*/
#define C_List
#define C_TOC_Element
#define L_Basic
#define C_EnvMgr
#define L_Managers
#define C_WindowSystem
#define L_Other
#define C_AddLibraryAgent
#define C_HelpAgent
#define L_Agents
#include <stream.h>
#include "Other/XmStringLocalized.hh"
#include "Managers/CatMgr.hh"
#include <Prelude.h>
#include "Registration.hh"
#define CLASS AddLibraryAgent
#include "create_macros.hh"
#include <WWL/WComposite.h>
#include <WWL/WXmSeparator.h>
AddLibraryAgent::AddLibraryAgent (Widget parent):
f_shell (parent, True, "add_library_agent"),
f_done (False), f_cancelled (False), f_file_sel (NULL) {
create_ui (parent);
}
AddLibraryAgent::~AddLibraryAgent() {
f_form.Unmanage ();
XtDestroyWidget (XtParent(f_form));
}
void
AddLibraryAgent::create_ui (Widget parent) {
XmStringLocalized mtfstring;
String string;
window_system().register_full_modal_shell (&f_shell);
string = msg_catalog_mgr().catgets(Set_AddLibraryAgent, 1);
XtVaSetValues((Widget)f_shell, XmNtitle, string, NULL);
// order of these macros must match the .res file occurences for same
ASSN (WXmForm, f_form, f_shell, "form");
DECLM (WXmForm, sub_form, f_form, "sub_form");
DECLM (WXmLabel, label, sub_form, "theLabel");
DECLM (WXmPushButton, pick, sub_form, "pick");
ASSNM (WXmTextField, f_text, sub_form, "text");
DECLM (WXmSeparator, sep, f_form, "separator");
ASSNM (WXmPushButton, f_ok, f_form, "ok");
ASSNM (WXmPushButton, f_clr, f_form, "clear");
DECLM (WXmPushButton, canc, f_form, "cancel");
DECLM (WXmPushButton, help, f_form, "help");
mtfstring = msg_catalog_mgr().catgets(Set_AgentLabel, 160);
XtVaSetValues(label, XmNlabelString, (XmString)mtfstring, NULL);
mtfstring = msg_catalog_mgr().catgets(Set_AgentLabel, 161);
XtVaSetValues(f_ok, XmNlabelString, (XmString)mtfstring, NULL);
mtfstring = msg_catalog_mgr().catgets(Set_AgentLabel, 162);
XtVaSetValues(canc, XmNlabelString, (XmString)mtfstring, NULL);
mtfstring = CATGETS(Set_AgentLabel, 223, "Clear");
XtVaSetValues(f_clr, XmNlabelString, (XmString)mtfstring, NULL);
mtfstring = CATGETS(Set_AgentLabel, 270, "...");
XtVaSetValues(pick, XmNlabelString, (XmString)mtfstring, NULL);
mtfstring = CATGETS(Set_AgentLabel, 48, "Help");
XtVaSetValues(help, XmNlabelString, (XmString)mtfstring, NULL);
f_form.DefaultButton (f_ok);
SET_CALLBACK (f_text, ValueChanged, textChanged);
SET_CALLBACK (f_text, ModifyVerify, verifyNoSpace);
ON_ACTIVATE (pick, pick_dir);
ON_ACTIVATE (f_ok, ok);
ON_ACTIVATE (f_clr, clear);
ON_ACTIVATE (canc, cancel);
help_agent().add_activate_help (help, "add_infolib_help");
f_shell.Realize ();
// XtVaSetValues(f_form, XmNinitialFocus, (Widget)f_text, NULL);
}
void
AddLibraryAgent::ok () {
f_done = TRUE;
f_form.Unmanage ();
}
void
AddLibraryAgent::clear () {
// autoUnmanage must be set to False for this button to work properly
XmTextFieldSetString( f_text, "" );
}
void
AddLibraryAgent::cancel () {
f_done = TRUE;
f_cancelled = TRUE;
f_form.Unmanage ();
}
void
AddLibraryAgent::textChanged (WCallback *wcb) {
char *theText = XmTextFieldGetString (wcb->GetWidget());
if( theText && *theText ) {
f_ok.SetSensitive (True);
f_clr.SetSensitive (True);
}
else
{
f_ok.SetSensitive (False);
f_clr.SetSensitive (False);
}
XtFree (theText);
}
void
AddLibraryAgent::verifyNoSpace (WCallback *wcb) {
CALL_DATA (XmTextVerifyCallbackStruct, tvp);
tvp->doit = True;
if (tvp->text != NULL) {
int length = tvp->text->length;
char *cp = tvp->text->ptr;
for ( ; length > 0; cp ++, length --) {
//if (*cp == ' ' || *cp == '\t' || *cp == '\n') {
if (*cp == '\t' || *cp == '\n') {
tvp->doit = False;
return;
}
}
}
}
char *
AddLibraryAgent::getInfolibName () {
f_done = f_cancelled = False;
f_form.Manage();
XmProcessTraversal( (Widget)f_text, XmTRAVERSE_CURRENT );
// XtSetKeyboardFocus( (Widget)f_form, (Widget)f_text );
// ((WXmForm *) XtParent(XtParent (f_text)))->InitialFocus (f_text);
f_shell.MinWidth (f_shell.Width());
f_shell.MinHeight (f_shell.Height());
f_shell.MaxHeight (f_shell.Height());
XtAppContext app_context = window_system().app_context ();
XEvent event;
while (!f_done) {
XtAppNextEvent (app_context, &event);
XtDispatchEvent (&event);
}
if (f_cancelled)
return NULL;
return XmTextFieldGetString (f_text);
}
void
AddLibraryAgent::pick_dir () {
if( !f_file_sel )
{
Arg args[20];
int n;
XmString title_str = XmStringCreateLocalized(
CATGETS(Set_AddLibraryAgent, 10, "Dtinfo: Infolib Selection"));
XmString no_libs_str = XmStringCreateLocalized(
CATGETS(Set_AddLibraryAgent, 11, "No Infolibs Present"));
XmString patt_str = XmStringCreateLocalized( "*.dti" );
XmString infolibs_str = XmStringCreateLocalized( "Infolibs" );
// default initial directory on first entry
char *buf = new char[256];
// Note: infolibs need to be placed in platform-portably-named
// LANG-type subdirectories, so the normalized CDE language
// string can be used for lookup. For now, must assume the
// user environment LANG is OK ...
char *tmpstr;
if( tmpstr = getenv("LANG") )
sprintf( buf, "/usr/dt/infolib/%s/", tmpstr );
else
sprintf( buf, "/usr/dt/infolib/%s/", env().lang() );
//
XmString basedir_str = XmStringCreateLocalized( buf );
strcat( buf, "*.dti" );
XmString initdir_str = XmStringCreateLocalized( buf );
delete [] buf;
n = 0;
XtSetArg(args[n], XmNdialogTitle, title_str); n++;
XtSetArg(args[n], XmNdirectory, basedir_str); n++;
XtSetArg(args[n], XmNdirMask, initdir_str); n++;
XtSetArg(args[n], XmNfileListLabelString, infolibs_str); n++;
XtSetArg(args[n], XmNfileTypeMask, XmFILE_DIRECTORY); n++;
XtSetArg(args[n], XmNnoMatchString, no_libs_str); n++;
XtSetArg(args[n], XmNpattern, patt_str); n++;
XtSetArg(args[n], XmNpathMode, XmPATH_MODE_RELATIVE); n++;
f_file_sel = XmCreateFileSelectionDialog(
f_shell, "pick_dir_file", args, n );
XmStringFree(basedir_str);
XmStringFree(initdir_str);
XmStringFree(infolibs_str);
XmStringFree(patt_str);
XmStringFree(no_libs_str);
XmStringFree(title_str);
XtAddCallback ( f_file_sel,
XmNokCallback,
&AddLibraryAgent::fileSelectedCallback,
(XtPointer) this );
XtAddCallback ( f_file_sel,
XmNcancelCallback,
&AddLibraryAgent::cancelCallback,
(XtPointer) this );
}
XtManageChild( f_file_sel );
}
void
AddLibraryAgent::cancelCallback ( Widget w,
XtPointer,
XtPointer )
{
XtUnmanageChild ( w ); // Bring the file selection dialog down.
}
void
AddLibraryAgent::fileSelectedCallback ( Widget w,
XtPointer client_data,
XtPointer call_data )
{
AddLibraryAgent * obj = (AddLibraryAgent *) client_data;
XmFileSelectionBoxCallbackStruct *cb =
(XmFileSelectionBoxCallbackStruct *) call_data;
char *name = NULL;
XmString xmstr = cb->value; // The selected file
int status = 0;
if ( xmstr ) // Make sure a file was selected
{
// Extract the first character string matching the default
// character set from the compound string
status = XmStringGetLtoR ( xmstr, XmFONTLIST_DEFAULT_TAG, &name );
if(status && strlen(name)<1)
{
XtFree(name);
return;
}
if( status )
{
XmTextFieldSetString( (Widget) obj->f_text, name );
// XtSetKeyboardFocus( (Widget) obj->f_form, (Widget) obj->f_ok );
XmProcessTraversal( (Widget) obj->f_ok, XmTRAVERSE_CURRENT );
}
}
XtUnmanageChild ( w ); // Bring the file selection dialog down.
}

View File

@@ -0,0 +1,38 @@
// $XConsortium: AddLibraryAgentMotif.hh /main/4 1996/09/20 13:56:43 cde-hal $
#include <WWL/wwl.h>
#include <WWL/WXmDialogShell.h>
#include <WWL/WXmForm.h>
#include <WWL/WXmTextField.h>
#include <WWL/WXmPushButton.h>
#include <WWL/WXmLabel.h>
class AddLibraryAgent: public WWL {
public:
AddLibraryAgent (Widget parent);
~AddLibraryAgent ();
char *getInfolibName ();
private:
void create_ui (Widget parent);
void ok();
void cancel();
void clear();
void help ();
void pick_dir(); // do file selection
static void cancelCallback( // for file selection
Widget, XtPointer, XtPointer );
static void fileSelectedCallback( // for file selection
Widget, XtPointer, XtPointer );
void textChanged (WCallback *);
void verifyNoSpace (WCallback *);
private:
WXmDialogShell f_shell;
WXmTextField f_text;
WXmForm f_form;
WXmPushButton f_ok;
WXmPushButton f_clr;
Widget f_file_sel;
bool f_done;
bool f_cancelled;
};

View File

@@ -0,0 +1,9 @@
/* $XConsortium: Agent.d /main/2 1996/07/25 11:33:15 drk $ */
#define C_FolioObject
#define L_Basic
#define C_Agent
#define L_Agents
#define C_WindowSystem
#define L_Other

View File

@@ -0,0 +1,13 @@
/* $XConsortium: Agent.hh /main/3 1996/06/11 16:10:47 cde-hal $ */
#ifndef _Agent_hh
#define _Agent_hh
#ifdef MOTIF
#include "AgentMotif.hh"
#else
#error Unable to determine which window system to use.
#endif
#endif /* _Agent_hh */
/* DO NOT ADD ANY LINES AFTER THIS #endif */

View File

@@ -0,0 +1,382 @@
$ $XConsortium: Agent.msg /main/14 1996/10/26 13:24:40 cde-hal $
$set Set_AgentLabel
$
$ dtinfo GUI label strings
$
1 "File"
2 "F"
4 "View"
5 "V"
$ 6 "Clone"
$ "Clone" is applied to the selected entry in the booklist, and
$ has the effect of opening another (secondary) window with a
$ copy of the booklist hierarchy below the selection, and rooted
$ (based) at the selected item.
$ [Currently, this functionality is deferred beyond CDE 2.0.]
6 "Clone"
$ 7 "N" for "N" in "Clone"
7 "N"
8 "Print"
9 "P"
10 "Print..."
11 "r"
12 "Close"
13 "C"
14 "Exit"
15 "x"
16 "Edit"
17 "E"
18 "Copy"
19 "C"
20 "Add..."
21 "A"
22 "Remove"
23 "R"
24 "Options"
25 "O"
26 "Preferences..."
27 "P"
28 "Auto Track"
29 "A"
30 "Show ToolBar"
31 "T"
32 "Show Search Area"
33 "S"
34 "Windows"
35 "W"
36 "Graphical Map"
37 "G"
38 "Section History"
39 "H"
40 "Marks List"
41 "M"
$ 42 "Search History " presents a dialog listing
$ a history of prior search results, as provided in the Search
$ Results Dialog.
42 "Search History"
43 "S"
44 "Query Editor"
45 "Q"
46 "Scope Editor"
47 "c"
48 "Help"
49 "H"
50 "On Item..."
51 "O"
59 "Search:"
61 "Scope Editor"
$ Messages 62-77 for "Browser" pulldown menu entries
$
62 "Browser"
63 "B"
64 "New Window"
65 "N"
66 "Open Locator..."
67 "O"
68 "Show Locator"
69 "S"
70 "Print"
71 "P"
72 "Print..."
73 "r"
74 "Close"
75 "C"
76 "Exit"
77 "x"
$ 78 "On Selection", where selection is a text
$ selection that will be used directly as a search query string
78 "On Selection"
79 "O"
80 "Query Editor"
81 "Q"
82 "Scope Editor"
83 "S"
84 "Search History"
85 "H"
86 "Clear Search Hits"
87 "C"
88 "Back (History)"
89 "B"
90 "Forward (History)"
91 "F"
92 "History..."
93 "H"
94 "Previous Section"
95 "P"
96 "Next Section"
97 "N"
$ Messages 98-101 are for traversal of the document view in order
$ to present and highlight the Previous or Next "search hit" (if any)
$ in the section. Presumably, all search hits have already been
$ highlighted to some degree, and this will add the equivalent of a
$ keyboard traversal highlight to the appropriate one when brought
$ into view.
98 "Previous Search"
99 "r"
100 "Next Search"
101 "x"
102 "Search"
103 "S"
$ 104 "Go" is a pulldown menu label, where menu items are
$ various methods by which the user may "go" to a specific document.
104 "Go"
105 "G"
$ Message 106-119 are for the "Marks" pulldown menu
106 "Marks"
107 "M"
108 "Create Bookmark"
109 "B"
110 "Create Note..."
111 "N"
$ 112 "List Marks" means to show all saved Marks as a list
$ in a separate dialog window.
112 "List Marks"
113 "L"
114 "Edit Selection..."
115 "E"
116 "Move Selection"
117 "M"
118 "Delete Selection"
119 "D"
$ Messages 120-129 are for "Options" pulldown menu entries
120 "Options"
121 "O"
122 "Preferences..."
123 "P"
$ 124 "Detach Graphic" removes a selected graphic from the
$ document flow and places it in its own window. A "placeholder"
$ remains in the document where the graphic originally appeared.
124 "Detach Graphic"
125 "D"
126 "Show Tool Bar"
127 "T"
128 "Show Search Area"
129 "S"
$ Messages 130-135 are for "Windows" pulldown menu entries
130 "Windows"
131 "W"
132 "Book List"
133 "B"
134 "Graphical Map"
135 "G"
$ Messages 136-142 are believed to be *unused*/obsolete
136 "Author"
137 "A"
138 "Get Locator"
139 "Debug"
140 "D"
141 "Generate Fake Infobase List"
142 "Command Processor"
$ Messages 143-158 are Help pulldown menu entries, and
$ should of course read the same across all CDE applications,
$ within a localization. They always mean the same thing:
$ provide "help On []"
143 "Help"
144 "H"
145 "On Item..."
146 "C"
147 "On Window"
148 "W"
149 "On Application"
150 "A"
151 "Index"
152 "I"
153 "On Help"
154 "H"
155 "On Keys"
156 "K"
157 "On Version"
158 "V"
$ 159 "Retain" is believed to be unused
159 "Retain"
160 "Infolib Path:"
161 "Ok"
162 "Cancel"
163 "Name"
164 "Notes"
165 "Display"
$ 166 "Panner" is a graphical user interface control for
$ selecting that part of a larger area which the associated view
$ window is to display.
166 "Panner"
167 "Attach"
168 "Display Section"
$ Messages 169-182 are for the window which is used to present a
$ detached graphic.
$ 169 Fit >graphic< to window
169 "Fit to Window"
$ 170 Fit >window< to graphic
170 "Fit to Graphic"
171 "25 %"
172 "50 %"
173 "100 %"
174 "125 %"
175 "150 %"
176 "200 %"
$ 177 "Custom" value entry for re-scaling of graphic
177 "Custom..."
$ Messages 178-182 refer to where the panner is to be placed within
$ the detached graphic dialog window. Is a "panner" masculine or
$ feminine ? "Beats" me ;-).
178 "None"
179 "Upper Left"
180 "Upper Right"
181 "Lower Left"
182 "Lower Right"
183 "Delete"
184 "Book"
185 "Section"
186 "Preferences for"
187 "Browsing"
188 "Map"
189 "Searching"
190 "Browser Geometry"
191 ". . ."
192 "Font Scale"
$ 193 "Pin []" is a verb
193 "Pin Window"
194 "File a Bug"
195 "Map Geometry"
196 "Auto Update"
197 "Section History Size"
198 "Search History Size"
199 "Maximum Search Hits"
200 "Auto Display First Hit"
201 "Apply"
202 "Reset"
203 "On"
204 "Off"
205 "Number of Sections"
206 "Selected:"
207 "To Be Printed:"
208 "Error."
209 "What to Print"
210 "Sections"
211 "Hierarchy"
212 "Scope Name"
213 "Unnamed"
214 "Books"
215 "Components"
216 "New"
217 "Save"
218 "Rename"
219 "Retrieved:"
220 "Scope:"
221 "Query:"
222 "Enter a Unique Locator:"
223 "Clear"
224 "Cut"
225 "Paste"
226 "Group"
227 "Ungroup"
228 "Undo"
229 "Redo"
230 "Query"
231 "Clear All"
$ Messages 232-242 relate to operators available in a query
$ expression, and appear in the Query Editor.
232 "Matches"
233 "Doesn\'t Match"
234 "Starts With"
235 "Doesn\'t Start With"
$ 236 Boolean operator OR
236 "Or"
$ 237 "Xor" is for Boolean logic "Exclusive OR"
237 "Xor"
$ 238 Boolean operator AND
238 "And"
239 "Near"
240 "Before"
241 "Weight"
242 "Proximity"
243 "Scope"
244 "Yes"
245 "No"
246 "Matches"
247 "Introduction"
248 "I"
249 "Tasks"
250 "T"
251 "Reference"
252 "R"
253 "Using Help"
254 "U"
255 "About Information Manager"
256 "A"
257 "Overview"
258 "v"
259 "o"
260 "History"
261 "History List"
262 "The section is no longer available."
263 "Click on a graphic to detach it."
264 "Raise Graphic"
265 "Attach Graphic"
$ 270 "..." is a button label indicating a list from which an
$ entry may be selected to fill a preceeding text field.
$ In this case, the user may enter a path into a text field
$ or activate the button with "..." to be presented with
$ a File Selection Box. The object is to select an Infolib
$ path.
270 "..."
$set Set_AgentQHelp
$
$ dtinfo quick help messages (to be exhibited on status display area)
$
1 "Go to the previous section in history"
2 "Go to the next section in history"
3 "Go to the previous section in document"
4 "Go to the next section in document"
$ A search "match" is the same as a search "hit". "Match" is more
$ descriptive.
5 "Go to the previous search match"
6 "Go to the next search match"
7 "Print current section"
8 "Display Book List"
9 "Display Graphical Map"
10 "Pin (unpin) this window, to prevent (allow) use for new documents."
11 "Specify search scope using the Scope Editor"
52 "Display selected section"
53 "Display selected section in a separate Book List"
54 "Print selected section"
55 "Open an additional information library"
56 "Close selected information library"
57 "Perform a search using the Query Editor"
58 "Display the bookmarks and notes list"
60 "Specify search scope"
62 "Specify search scope using the Scope Editor"
64 "Search %s"

View File

@@ -0,0 +1,20 @@
// $XConsortium: AgentMotif.cc /main/4 1996/06/11 16:10:52 cde-hal $
#define C_List
#define C_TOC_Element
#define L_Basic
#define C_Agent
#define L_Agents
#include "Prelude.h"
Agent::~Agent()
{
}
void
Agent::refresh(const UAS_Pointer<Graphic> &)
{
}

View File

@@ -0,0 +1,40 @@
/*
* $XConsortium: AgentMotif.hh /main/4 1996/06/11 16:10:58 cde-hal $
*
* Copyright (c) 1991 HaL Computer Systems, Inc. All rights reserved.
* UNPUBLISHED -- rights reserved under the Copyright Laws of the United
* States. Use of a copyright notice is precautionary only and does not
* imply publication or disclosure.
*
* This software contains confidential information and trade secrets of HaL
* Computer Systems, Inc. Use, disclosure, or reproduction is prohibited
* without the prior express written permission of HaL Computer Systems, Inc.
*
* RESTRICTED RIGHTS LEGEND
* Use, duplication, or disclosure by the Government is subject to
* restrictions as set forth in subparagraph (c)(l)(ii) of the Rights in
* Technical Data and Computer Software clause at DFARS 252.227-7013.
* HaL Computer Systems, Inc.
* 1315 Dell Avenue, Campbell, CA 95008
*
*/
#include "WWL/wwl.h"
class WXmApplicationShell;
class Graphic;
#include "UAS.hh"
class Agent : public WWL, public FolioObject
{
public: // functions
~Agent() ;
WApplicationShell &toplevel()
{ return (window_system().toplevel()); } ;
Display *xdisplay()
{ return (window_system().display()); } ;
// for refreshing of graphics...overloaded by NodeWindowAgent,
// ViewportAgent, and GraphicAgent
virtual void refresh(const UAS_Pointer<Graphic> &);
};

View File

@@ -0,0 +1,137 @@
/*
* $XConsortium: AnchorCanvas.C /main/7 1996/10/21 13:41:12 rcs $
*
* Copyright (c) 1993 HAL Computer Systems International, Ltd.
* All rights reserved. Unpublished -- rights reserved under
* the Copyright Laws of the United States. USE OF A COPYRIGHT
* NOTICE IS PRECAUTIONARY ONLY AND DOES NOT IMPLY PUBLICATION
* OR DISCLOSURE.
*
* THIS SOFTWARE CONTAINS CONFIDENTIAL INFORMATION AND TRADE
* SECRETS OF HAL COMPUTER SYSTEMS INTERNATIONAL, LTD. USE,
* DISCLOSURE, OR REPRODUCTION IS PROHIBITED WITHOUT THE
* PRIOR EXPRESS WRITTEN PERMISSION OF HAL COMPUTER SYSTEMS
* INTERNATIONAL, LTD.
*
* RESTRICTED RIGHTS LEGEND
* Use, duplication, or disclosure by the Government is subject
* to the restrictions as set forth in subparagraph (c)(l)(ii)
* of the Rights in Technical Data and Computer Software clause
* at DFARS 252.227-7013.
*
* HAL COMPUTER SYSTEMS INTERNATIONAL, LTD.
* 1315 Dell Avenue
* Campbell, CA 95008
*
*/
#define C_OString
#define C_HashTbl
#define C_NodeViewInfo
#define C_NamedData
#define L_Basic
#define C_AnchorCanvas
#ifdef UseTmlRenderer
#define C_ViewportAgent
#endif
#define L_Agents
#include <Prelude.h>
#define CURRENT_FORMAT "TML-1"
AnchorCanvas::~AnchorCanvas()
{
// need this because base class was not getting destructed
}
// Constuctor converts the range to string value for the base Anchor class.
AnchorCanvas::AnchorCanvas (const char *locator, MarkInfo& mi)
{
// format:
// locator;vcc[tab]offset[tab]length,...
UAS_String location(locator);
location = location + ";";
/* -------- Now form the anchor string -------- */
for (int i = 0; i < mi.length(); i++) {
UAS_Pointer<MarkUnitInfo> mui_t = mi[i];
MarkUnitInfo& mui = *mui_t;
char buf[64];
if (i > 0)
location = location + ",";
sprintf(buf, "%u\t%u\t%u", mui.vcc(), mui.offset(), mui.length());
location = location + buf;
}
// Save these things in the base Anchor class.
set ((char*)location, CURRENT_FORMAT);
#ifdef BOOKMARK_DEBUG
fprintf(stderr, "AnchorCanvas() = <%s>\n", (char*)location);
#endif
}
// /////////////////////////////////////////////////////////////////
// yposition - compute yposition of the mark in a given viewport
// /////////////////////////////////////////////////////////////////
#ifdef JBM
Position
AnchorCanvas::yposition (ViewportAgent *vpa)
{
// First make sure that the Anchor is in the expected format.
if (strcmp (format(), CURRENT_FORMAT) != 0)
throw (Exception());
// Snag the information: TML-1 format is locator,offset,length.
char *locator = new char[strlen(location())];
int offset, length;
ON_DEBUG (printf ("Stored mark anchor = <%s>\n", location()));
int count;
count = sscanf (location(), "%[^,],%d,%d", locator, &offset, &length);
if (count != 3)
{
delete [] locator;
ON_DEBUG (printf ("Only got %d args\n", count));
throw (Exception());
}
// Find the TML node associated with the locator in the anchor.
// NOTE: This table should be replaced with template classes.
bnode *bn;
if (*locator != '\0')
{
ON_DEBUG (printf ("AnchorCanvas: looking up locator <%s>\n", locator));
NamedData *tml_node_data = (NamedData *)
vpa->node_view_info()->locator_table().
find (OString (locator, OString::NO_COPY));
delete [] locator;
if (tml_node_data == NULL)
throw (Exception());
bn = (bnode *) tml_node_data->data();
}
else
{
delete [] locator;
bn = (bnode *) vpa->node_view_info()->get_model()->get_root();
}
// Get the y position
view_pos *vpos =
vpa->tml_viewport().mpos_2_vpos (bn->get_span().get_start() + offset);
if (vpos == NULL)
throw (Exception());
return (vpos->get_y());
}
#endif

View File

@@ -0,0 +1,4 @@
/* $XConsortium: AnchorCanvas.d /main/3 1996/07/25 11:33:37 drk $ */
#define C_Anchor
#define L_Marks

View File

@@ -0,0 +1,51 @@
/*
* $XConsortium: AnchorCanvas.hh /main/5 1996/10/18 19:46:29 cde-hal $
*
* Copyright (c) 1993 HAL Computer Systems International, Ltd.
* All rights reserved. Unpublished -- rights reserved under
* the Copyright Laws of the United States. USE OF A COPYRIGHT
* NOTICE IS PRECAUTIONARY ONLY AND DOES NOT IMPLY PUBLICATION
* OR DISCLOSURE.
*
* THIS SOFTWARE CONTAINS CONFIDENTIAL INFORMATION AND TRADE
* SECRETS OF HAL COMPUTER SYSTEMS INTERNATIONAL, LTD. USE,
* DISCLOSURE, OR REPRODUCTION IS PROHIBITED WITHOUT THE
* PRIOR EXPRESS WRITTEN PERMISSION OF HAL COMPUTER SYSTEMS
* INTERNATIONAL, LTD.
*
* RESTRICTED RIGHTS LEGEND
* Use, duplication, or disclosure by the Government is subject
* to the restrictions as set forth in subparagraph (c)(l)(ii)
* of the Rights in Technical Data and Computer Software clause
* at DFARS 252.227-7013.
*
* HAL COMPUTER SYSTEMS INTERNATIONAL, LTD.
* 1315 Dell Avenue
* Campbell, CA 95008
*
*/
#include <X11/Intrinsic.h>
#include "Marks/MarkInfo.hh"
// This class provides a simple interface to create an Anchor from
// a selection range in TML.
class AnchorCanvas : public Anchor
{
public:
// Creation of unset Anchor.
AnchorCanvas()
{ }
~AnchorCanvas();
// Creation of anchor based on position.
AnchorCanvas (const char *locator, MarkInfo& mi);
#ifdef JBM
Position yposition (ViewportAgent *);
#endif
};

View File

@@ -0,0 +1,3 @@
/* $XConsortium: BookTab.d /main/2 1996/07/25 11:33:58 drk $ */
#define C_FolioObject
#define L_Basic

View File

@@ -0,0 +1,7 @@
/* $XConsortium: BookTab.hh /main/3 1996/06/11 16:11:18 cde-hal $ */
#ifdef MOTIF
#include "BookTabMotif.hh"
#else
#error Unable to determine which window system to use.
#endif

View File

@@ -0,0 +1,195 @@
/*
* $XConsortium: BookTabMotif.cc /main/4 1996/06/11 16:11:24 cde-hal $
*
* Copyright (c) 1992 HaL Computer Systems, Inc. All rights reserved.
* UNPUBLISHED -- rights reserved under the Copyright Laws of the United
* States. Use of a copyright notice is precautionary only and does not
* imply publication or disclosure.
*
* This software contains confidential information and trade secrets of HaL
* Computer Systems, Inc. Use, disclosure, or reproduction is prohibited
* without the prior express written permission of HaL Computer Systems, Inc.
*
* RESTRICTED RIGHTS LEGEND
* Use, duplication, or disclosure by the Government is subject to
* restrictions as set forth in subparagraph (c)(l)(ii) of the Rights in
* Technical Data and Computer Software clause at DFARS 252.227-7013.
* HaL Computer Systems, Inc.
* 1315 Dell Avenue, Campbell, CA 95008
*
*/
#define C_NodeMgr
#define C_MessageMgr
#define L_Managers
#define C_Tab
#define C_Node
#define L_Doc
#define C_BookTab
#define L_Agents
#include "Prelude.h"
#include <WWL/WComposite.h>
BookTab::~BookTab()
{
}
// /////////////////////////////////////////////////////////////////
// class constructors
// /////////////////////////////////////////////////////////////////
#ifdef UNUSED
BookTab::BookTab (const WComposite &parent)
: WXyzTab ((Widget) NULL),
f_selected (FALSE)
{
widget = XyzCreateTabButton (parent, "tab", NULL, 0);
SetActivateCallback (this, (WWL_FUN) &BookTab::activate);
}
#endif
BookTab::BookTab (NodeWindowAgent *nwa,
const WComposite &parent, UAS_Pointer<UAS_Common> &tab_ptr)
: f_node_window_agent (nwa),
WXyzTab ((Widget) NULL),
f_selected (FALSE)
{
widget = XyzCreateTabButton (parent, "tab", NULL, 0);
SetActivateCallback (this, (WWL_FUN) &BookTab::activate);
set_tab (tab_ptr);
}
// /////////////////////////////////////////////////////////////////
// set_tab
// /////////////////////////////////////////////////////////////////
void
BookTab::set_tab (UAS_Pointer<UAS_Common> &tab_ptr)
{
if (f_tab_ptr != tab_ptr)
{
f_tab_ptr = tab_ptr;
if (f_tab_ptr != (const int)NULL)
{
UAS_String st = f_tab_ptr->tab_title();
LabelString ((char *) st);
if (f_selected)
{
deselect();
f_selected = FALSE;
}
Manage();
}
else
{
Unmanage();
}
}
}
// /////////////////////////////////////////////////////////////////
// activate
// /////////////////////////////////////////////////////////////////
void
BookTab::activate()
{
Xassert (f_tab_ptr != (const int)NULL);
node_mgr().set_preferred_window (f_node_window_agent);
f_tab_ptr->retrieve();
}
// /////////////////////////////////////////////////////////////////
// select_if_same - select this tab if it links to specified node
// /////////////////////////////////////////////////////////////////
void
BookTab::select_if_same (UAS_Pointer<UAS_Common> &doc_ptr)
{
Xassert (f_tab_ptr != (const int)NULL);
// If this tab points to the Node in question, select the tab,
// otherwise deselect the tab.
if (f_tab_ptr == doc_ptr)
select();
else
deselect();
}
// /////////////////////////////////////////////////////////////////
// select - select this tab button
// /////////////////////////////////////////////////////////////////
void
BookTab::select()
{
if (f_selected)
return;
Pixel bg, fg, arm, top, bottom;
Pixmap top_pix, bottom_pix;
/* Swap bg and arm color, fg and bg shadow colors. */
Get (WArgList (XmNbackground, (XtArgVal) &bg, XmNarmColor, &arm,
XmNtopShadowColor, &top, XmNbottomShadowColor, &bottom,
XmNforeground, &fg,
XmNtopShadowPixmap, &top_pix,
XmNbottomShadowPixmap, &bottom_pix,
NULL));
if (fg == arm)
fg = bg;
Set (WArgList (XmNbackground, (XtArgVal) arm, XmNarmColor, bg,
XmNtopShadowColor, bottom, XmNbottomShadowColor, top,
XmNforeground, fg,
/* XmNtopShadowPixmap, &bottom_pix,
XmNbottomShadowPixmap, &top_pix, */
NULL));
f_selected = TRUE;
}
// /////////////////////////////////////////////////////////////////
// deselect - deselect this tab button
// /////////////////////////////////////////////////////////////////
void
BookTab::deselect()
{
if (!f_selected)
return;
Pixel bg, fg, arm, top, bottom;
Pixmap top_pix, bottom_pix;
/* Swap bg and arm color, fg and bg shadow colors. */
Get (WArgList (XmNbackground, (XtArgVal) &bg, XmNarmColor, &arm,
XmNtopShadowColor, &top, XmNbottomShadowColor, &bottom,
XmNforeground, &fg,
XmNtopShadowPixmap, &top_pix,
XmNbottomShadowPixmap, &bottom_pix,
NULL));
if (fg == arm)
fg = bg;
Set (WArgList (XmNbackground, (XtArgVal) arm, XmNarmColor, bg,
XmNtopShadowColor, bottom, XmNbottomShadowColor, top,
XmNforeground, fg,
/* XmNtopShadowPixmap, &bottom_pix,
XmNbottomShadowPixmap, &top_pix, */
NULL));
f_selected = FALSE;
}

View File

@@ -0,0 +1,57 @@
/*
* $XConsortium: BookTabMotif.hh /main/3 1996/06/11 16:11:31 cde-hal $
*
* Copyright (c) 1993 HAL Computer Systems International, Ltd.
* All rights reserved. Unpublished -- rights reserved under
* the Copyright Laws of the United States. USE OF A COPYRIGHT
* NOTICE IS PRECAUTIONARY ONLY AND DOES NOT IMPLY PUBLICATION
* OR DISCLOSURE.
*
* THIS SOFTWARE CONTAINS CONFIDENTIAL INFORMATION AND TRADE
* SECRETS OF HAL COMPUTER SYSTEMS INTERNATIONAL, LTD. USE,
* DISCLOSURE, OR REPRODUCTION IS PROHIBITED WITHOUT THE
* PRIOR EXPRESS WRITTEN PERMISSION OF HAL COMPUTER SYSTEMS
* INTERNATIONAL, LTD.
*
* RESTRICTED RIGHTS LEGEND
* Use, duplication, or disclosure by the Government is subject
* to the restrictions as set forth in subparagraph (c)(l)(ii)
* of the Rights in Technical Data and Computer Software clause
* at DFARS 252.227-7013.
*
* HAL COMPUTER SYSTEMS INTERNATIONAL, LTD.
* 1315 Dell Avenue
* Campbell, CA 95008
*
*/
#include "Widgets/WXyzTab.h"
#include "UAS.hh"
class NodeWindowAgent;
class NodeHandle;
class BookTab : public WWL, public WXyzTab, public FolioObject
{
public: // functions
BookTab (NodeWindowAgent *, const WComposite &parent,
UAS_Pointer<UAS_Common> &tab_ptr);
~BookTab();
void set_tab (UAS_Pointer<UAS_Common> &tab_ptr);
UAS_Pointer<UAS_Common> &tab()
{ return (f_tab_ptr); }
void select_if_same (UAS_Pointer<UAS_Common> &);
private: // functions
// Callbacks
void activate();
void select();
void deselect();
private: // variables
NodeWindowAgent *f_node_window_agent;
UAS_Pointer<UAS_Common> f_tab_ptr;
bool f_selected;
};

View File

@@ -0,0 +1,13 @@
/* $XConsortium: BookmarkEdit.d /main/2 1996/07/25 11:34:18 drk $ */
#define C_FolioObject
#define C_List
#define L_Basic
#define C_Receiver
#define L_Support
#define C_MarkMgr
#define L_Managers
#define C_Dialog
#define L_Agents

View File

@@ -0,0 +1,7 @@
/* $XConsortium: BookmarkEdit.hh /main/3 1996/06/11 16:11:37 cde-hal $ */
#ifdef MOTIF
#include "BookmarkEditMotif.hh"
#else
#error Unable to determine which window system to use.
#endif

View File

@@ -0,0 +1,9 @@
$ $XConsortium: BookmarkEdit.msg /main/4 1996/08/16 17:07:42 cde-hal $
$set Set_BookmarkEdit
$
$ messages specific to bookmark edit dialog
$
1 "Dtinfo: Bookmark Editor"
2 "Bookmark update has failed."

View File

@@ -0,0 +1,73 @@
! $XConsortium: BookmarkEdit.res /main/8 1996/11/22 20:55:30 cde-hal $
Dtinfo
bookmark_edit
deleteResponse: do_nothing
minHeight: 220
minWidth: 290
form
name
topAttachment: attach_form
leftAttachment: attach_form
leftOffset: 2
name_text
columns: 40
maxLength: 40
translations: #override <Key>Return: next-tab-group()
topAttachment: attach_widget
topWidget: name
leftAttachment: attach_form
leftOffset: 5
notes
topAttachment: attach_widget
topWidget: name_text
leftAttachment: attach_form
leftOffset: 2
notes_textSW
notes_text
translations: #override <Key>Return: newline()
rows: 5
wordWrap: true
scrollHorizontal: false
editMode: multi_line_edit
topAttachment: attach_widget
topWidget: notes
leftAttachment: attach_form
leftOffset: 2
rightAttachment: attach_form
rightOffset: 3
bottomAttachment: attach_widget
bottomWidget: separator
bottomOffset: 4
separator
leftAttachment: attach_form
rightAttachment: attach_form
bottomAttachment: attach_widget
bottomWidget: ok
bottomOffset: 2
highlightThickness: 0
ok
leftAttachment: attach_form
leftOffset: 3
rightAttachment: attach_position
rightPosition: 25
bottomAttachment: attach_form
sensitive: false
view
leftAttachment: attach_position
leftPosition: 25
rightAttachment: attach_position
rightPosition: 50
bottomAttachment: attach_form
cancel
leftAttachment: attach_position
leftPosition: 50
rightAttachment: attach_position
rightPosition: 75
bottomAttachment: attach_form
help
leftAttachment: attach_position
leftPosition: 75
rightAttachment: attach_form
rightOffset: 3
bottomAttachment: attach_form

View File

@@ -0,0 +1,402 @@
/* Copyright (c) 1994,1995,1996 FUJITSU LIMITED */
/* All Rights Reserved */
/*
* $XConsortium: BookmarkEditMotif.C /main/13 1996/10/04 10:40:31 drk $
*
* Copyright (c) 1992 HAL Computer Systems International, Ltd.
* All rights reserved. Unpublished -- rights reserved under
* the Copyright Laws of the United States. USE OF A COPYRIGHT
* NOTICE IS PRECAUTIONARY ONLY AND DOES NOT IMPLY PUBLICATION
* OR DISCLOSURE.
*
* THIS SOFTWARE CONTAINS CONFIDENTIAL INFORMATION AND TRADE
* SECRETS OF HAL COMPUTER SYSTEMS INTERNATIONAL, LTD. USE,
* DISCLOSURE, OR REPRODUCTION IS PROHIBITED WITHOUT THE
* PRIOR EXPRESS WRITTEN PERMISSION OF HAL COMPUTER SYSTEMS
* INTERNATIONAL, LTD.
*
* RESTRICTED RIGHTS LEGEND
* Use, duplication, or disclosure by the Government is subject
* to the restrictions as set forth in subparagraph (c)(l)(ii)
* of the Rights in Technical Data and Computer Software clause
* at DFARS 252.227-7013.
*
* HAL COMPUTER SYSTEMS INTERNATIONAL, LTD.
* 1315 Dell Avenue
* Campbell, CA 95008
*
*/
#include "UAS.hh"
#define C_List
#define C_TOC_Element
#define L_Basic
#define C_WindowSystem
#define L_Other
#define C_HelpAgent
#ifdef UseTmlRenderer
#define C_MarkView
#endif
#define C_BookmarkEdit
#define L_Agents
#define C_MessageMgr
#define L_Managers
#define C_Mark
#define L_Marks
#include "Managers/CatMgr.hh"
#include "Other/XmStringLocalized.hh"
#include "Prelude.h"
#include "Registration.hh"
#include <WWL/WTopLevelShell.h>
#include <WWL/WXmForm.h>
#include <WWL/WXmLabelGadget.h>
#include <WWL/WXmTextField.h>
#include <WWL/WXmText.h>
#include <WWL/WXmPushButtonGadget.h>
#include <WWL/WXmSeparatorGadget.h>
#include <iostream.h>
int BookmarkEdit::g_modified_count = 0;
#ifdef SVR4
#ifndef USL
#include <libintl.h>
#endif
#endif
#define THIS_CLASS BookmarkEdit
#define ON_ACTIVATE(WOBJ,FUNC) \
(WOBJ).SetActivateCallback (this, (WWL_FUN) &THIS_CLASS::FUNC)
#if defined(__STDC__) || defined(hpux) || defined(__osf__)
#define BUTTON(PARENT,NAME) \
WXmPushButtonGadget NAME (PARENT, #NAME, WAutoManage); \
ON_ACTIVATE (NAME, NAME)
#else
#define BUTTON(PARENT,NAME) \
WXmPushButtonGadget NAME (PARENT, "NAME", WAutoManage); \
ON_ACTIVATE (NAME, NAME)
#endif
#define CALL_DATA(TYPE,NAME) \
TYPE *NAME = (TYPE *) wcb->CallData()
class BookmarkMgr : public UAS_Receiver<EditMark>
{
public:
BookmarkMgr()
{ ON_DEBUG(printf ("requesting MarkEdit from %p\n", this));
Mark::request (this); }
void destroy (BookmarkEdit *);
private:
void receive (EditMark &message, void *client_data);
xList<BookmarkEdit *> f_editor_list;
};
void
BookmarkMgr::receive (EditMark &message, void *client_data)
{
// First see if there's already a window editing the Mark.
List_Iterator<BookmarkEdit *> l (f_editor_list);
while (l)
{
if (l.item()->mark_ptr() == message.f_mark_ptr)
{
l.item()->display();
return;
}
l++;
}
// Time to create a new editor:
BookmarkEdit *editor = new BookmarkEdit (message.f_mark_ptr);
f_editor_list.append (editor);
editor->display();
}
void
BookmarkMgr::destroy (BookmarkEdit *editor)
{
// First remove it from the editor list.
f_editor_list.remove (editor);
delete editor;
}
static BookmarkMgr g_bookmark_mgr;
// /////////////////////////////////////////////////////////////////
// class destructor
// /////////////////////////////////////////////////////////////////
BookmarkEdit::~BookmarkEdit()
{
if (f_shell != NULL)
{
delete f_name_text;
delete f_notes_text;
delete f_wm_delete_callback;
f_shell->Destroy();
delete f_shell;
}
// Reduce the modified count when closed, if we've been modified.
if (f_modified)
g_modified_count--;
}
// /////////////////////////////////////////////////////////////////
// display
// /////////////////////////////////////////////////////////////////
void
BookmarkEdit::display()
{
if (f_shell == NULL)
create_ui();
f_name_text->SetString ((char *) f_mark_ptr->name());
f_notes_text->SetString ((char *) f_mark_ptr->notes());
f_ok.SetSensitive (False); // 94/10/28 haya no modified in first display
f_name_text->InsertionPosition (f_name_text->LastPosition());
f_modified = FALSE; // prevent making ok sensitive
g_modified_count--;
Widget scrolled = XtParent (*f_notes_text);
((WXmForm *) XtParent (scrolled))->InitialFocus (scrolled);
f_shell->Popup();
f_shell->DeIconify();
}
// /////////////////////////////////////////////////////////////////
// create_ui
// /////////////////////////////////////////////////////////////////
void
BookmarkEdit::create_ui()
{
XmStringLocalized mtfstring;
String string;
f_shell =
new WTopLevelShell (window_system().toplevel(), WPopup, "bookmark_edit");
window_system().register_shell (f_shell);
string = CATGETS(Set_BookmarkEdit, 1, "Dtinfo: Bookmark Editor");
XtVaSetValues(*f_shell, XmNtitle, string, NULL);
WXmForm form (*f_shell, "form");
WXmLabelGadget name (form, "name", WAutoManage);
f_name_text = new WXmTextField (form, "name_text", WAutoManage);
WXmLabelGadget notes (form, "notes", WAutoManage);
mtfstring = CATGETS(Set_AgentLabel, 163, "Name");
XtVaSetValues(name, XmNlabelString, (XmString)mtfstring, NULL);
mtfstring = CATGETS(Set_AgentLabel, 164, "Notes");
XtVaSetValues(notes, XmNlabelString, (XmString)mtfstring, NULL);
// NOTE: Don't add spaces after "," because of stupid CPP.
f_ok = WXmPushButtonGadget (form, "ok", WAutoManage);
ON_ACTIVATE (f_ok, ok);
mtfstring = CATGETS(Set_AgentLabel, 161, "OK");
XtVaSetValues(f_ok, XmNlabelString, (XmString)mtfstring, NULL);
BUTTON (form,view);
BUTTON (form,cancel);
mtfstring = CATGETS(Set_AgentLabel, 165, "Display");
XtVaSetValues(view, XmNlabelString, (XmString)mtfstring, NULL);
mtfstring = CATGETS(Set_AgentLabel, 162, "Cancel");
XtVaSetValues(cancel, XmNlabelString, (XmString)mtfstring, NULL);
WXmPushButtonGadget help (form, "help", WAutoManage);
mtfstring = CATGETS(Set_AgentLabel, 48, "Help");
XtVaSetValues(help, XmNlabelString, (XmString)mtfstring, NULL);
help_agent().add_activate_help (help, "bookmark_edit_help");
f_wm_delete_callback =
new WCallback (*f_shell, window_system().WM_DELETE_WINDOW(),
this, (WWL_FUN) &BookmarkEdit::cancel);
WXmSeparatorGadget separator (form, "separator", WAutoManage);
Widget notes_text = XmCreateScrolledText (form, "notes_text", NULL, 0);
f_notes_text = new WXmText (notes_text);
f_notes_text->Manage();
f_name_text->SetModifyVerifyCallback (this, (WWL_FUN)&THIS_CLASS::modified);
f_notes_text->SetModifyVerifyCallback (this, (WWL_FUN)&THIS_CLASS::modified);
f_name_text->SetValueChangedCallback (this, (WWL_FUN)&THIS_CLASS::changed);
f_notes_text->SetValueChangedCallback (this, (WWL_FUN)&THIS_CLASS::changed);
form.DefaultButton (f_ok);
form.ShadowThickness (0);
form.Manage();
f_shell->Realize();
// Set the min size based on the current size.
f_shell->MinWidth (f_shell->Width());
f_shell->MinHeight (f_shell->Height());
}
// /////////////////////////////////////////////////////////////////
// ok
// /////////////////////////////////////////////////////////////////
void
BookmarkEdit::ok()
{
// Only save if the mark is modified. This shouldn't be necessary,
// since the OK button shouldn't be sensitive, but let's be safe...
if (f_modified)
{
// NOTE: Need to strip leading/trailing spaces (or should that be
// done in the mark object??
// Update mark fields.
f_mark_ptr->set_name (f_name_text->Value());
f_mark_ptr->set_notes (f_notes_text->Value());
// Save the mark to disk.
try
{
f_mark_ptr->save();
}
catch_any()
{
message_mgr().error_dialog(
CATGETS(Set_BookmarkEdit, 1, "Dtinfo: Bookmark Editor"));
}
end_try;
}
// Get rid of the dialog now that the user is done with it.
g_bookmark_mgr.destroy (this);
}
// /////////////////////////////////////////////////////////////////
// view
// /////////////////////////////////////////////////////////////////
void
BookmarkEdit::view()
{
f_mark_ptr->view();
}
// /////////////////////////////////////////////////////////////////
// cancel
// /////////////////////////////////////////////////////////////////
void
BookmarkEdit::cancel()
{
bool confirmed = TRUE;
// Make the user verify a cancel if the data has been changed.
if (f_modified)
confirmed = message_mgr().question_dialog(
(char*)UAS_String(CATGETS(Set_Messages, 2,
"Abandon changes?")));
if (confirmed)
g_bookmark_mgr.destroy (this);
}
// /////////////////////////////////////////////////////////////////
// modified - bookmark has been edited
// /////////////////////////////////////////////////////////////////
void
BookmarkEdit::modified (WCallback *wcb)
{
CALL_DATA (XmTextVerifyCallbackStruct,tvp);
bool notes = wcb->GetWidget() == *f_notes_text;
// Change non-printable characters to spaces.
if (tvp->text != NULL)
{
int length = tvp->text->length;
char *p = tvp->text->ptr;
#ifdef Internationalize
int n_bytes;
for (; length > 0; p += n_bytes, length -= n_bytes) {
wchar_t wc;
n_bytes = mbtowc(&wc, p, MB_CUR_MAX);
assert( n_bytes > 0 );
if (n_bytes == 1 && !isprint(*p) && (!notes || !isspace(*p)))
*p = ' ';
}
assert( length == 0 );
#else
for (; length > 0; p++, length--)
{
if (!isprint(*p) && (!notes || (notes && !isspace(*p))))
*p = ' ';
}
#endif
}
}
// /////////////////////////////////////////////////////////////////
// changed - value in one of the fields has changed
// /////////////////////////////////////////////////////////////////
void
BookmarkEdit::changed (WCallback *wcb)
{
// Update the ok button.
if (wcb->GetWidget() == *f_name_text)
{
char *name = f_name_text->Value();
if (*name != '\0')
f_ok.SetSensitive (True);
else
f_ok.SetSensitive (False);
XtFree (name);
}
else if (!f_modified)
{
f_ok.SetSensitive (True);
}
if (!f_modified)
{
f_modified = TRUE;
g_modified_count++;
}
}
// /////////////////////////////////////////////////////////////////
// receive - MarkMoved
// /////////////////////////////////////////////////////////////////
void
BookmarkEdit::receive (MarkMoved &message, void *client_data)
{
// First, see if it is ours.
if (message.f_old_mark_ptr != f_mark_ptr)
return;
ON_DEBUG (printf ("BookmarkEdit -- updating to moved mark\n"));
// Ok, replace our pointer when moved version.
f_mark_ptr = message.f_new_mark_ptr;
}

View File

@@ -0,0 +1,76 @@
/*
* $XConsortium: BookmarkEditMotif.hh /main/4 1996/07/10 09:34:51 rcs $
*
* Copyright (c) 1992 HaL Computer Systems, Inc. All rights reserved.
* UNPUBLISHED -- rights reserved under the Copyright Laws of the United
* States. Use of a copyright notice is precautionary only and does not
* imply publication or disclosure.
*
* This software contains confidential information and trade secrets of HaL
* Computer Systems, Inc. Use, disclosure, or reproduction is prohibited
* without the prior express written permission of HaL Computer Systems, Inc.
*
* RESTRICTED RIGHTS LEGEND
* Use, duplication, or disclosure by the Government is subject to
* restrictions as set forth in subparagraph (c)(l)(ii) of the Rights in
* Technical Data and Computer Software clause at DFARS 252.227-7013.
* HaL Computer Systems, Inc.
* 1315 Dell Avenue, Campbell, CA 95008
*
*/
#include <WWL/wwl.h>
#include "UAS.hh"
class WTopLevelShell;
class WXmTextField;
class WXmText;
#include <WWL/WXmPushButtonGadget.h>
class Mark;
class MarkMoved;
class BookmarkEdit : public Dialog, public UAS_Receiver<MarkMoved>
{
public:
BookmarkEdit (UAS_Pointer<Mark> &mark)
: f_mark_ptr (mark),
f_shell (NULL),
f_modified (FALSE)
{
MarkMgr::request ((UAS_Receiver<MarkMoved> *) this);
}
~BookmarkEdit();
void display();
UAS_Pointer<Mark> &mark_ptr()
{ return (f_mark_ptr); }
static int modified_count()
{ return g_modified_count; }
protected: // functions
void create_ui();
void ok();
void view();
void cancel();
void modified (WCallback *wcb);
void changed (WCallback *wcb);
void receive (MarkMoved &message, void *client_data);
protected: // variables
UAS_Pointer<Mark> f_mark_ptr;
WTopLevelShell *f_shell;
WXmTextField *f_name_text;
WXmText *f_notes_text;
WXmPushButtonGadget f_ok;
bool f_modified;
WCallback *f_wm_delete_callback;
#ifndef hpux
static List g_editor_list;
#endif
static int g_modified_count;
};

View File

@@ -0,0 +1,85 @@
/* $XConsortium: Classlist.mk /main/8 1996/10/30 14:39:26 drk $ */
CLASSES= \
Agent \
Dialog \
ListView \
SearchHistoryListView \
NodeHistoryAgent \
MessageAgent \
IcccmAgent \
AnchorCanvas \
MarkIcon \
MarkCanvas \
NodeWindowAgent \
NodePrintAgent \
BookmarkEdit \
NodeListAgent \
SearchResultsAgent \
MapAgent \
OutlineListView \
SearchScopeList \
SearchScopeAgent \
BookTab \
PrintPanelAgent \
PrefAgent \
GraphicAgent \
LibraryAgent \
HelpAgent \
MarkListView \
MarkChooser \
ScopeMenu \
UrlAgent \
AddLibraryAgent
SRCS=AgentMotif.C \
MessageAgentMotif.C \
IcccmAgent.C \
AnchorCanvas.C \
MarkIconMotif.C \
MarkCanvas.C \
NodePrintAgent.C \
NodeWindowAgentMotif.C \
NodeListAgentMotif.C \
NodeHistoryAgentMotif.C \
SearchResultsAgentMotif.C \
ListViewMotif.C \
SearchHistoryListViewMotif.C \
MapAgentMotif.C \
OutlineListViewMotif.C \
SearchScopeList.C \
SearchScopeAgentMotif.C \
BookTabMotif.C \
LibraryAgentMotif.C \
BookmarkEditMotif.C \
PrintPanelAgentMotif.C \
PrefAgentMotif.C \
GraphicAgentMotif.C \
HelpAgent.C \
MarkListView.C \
MarkChooser.C \
ScopeMenu.C \
UrlAgentMotif.C \
AddLibraryAgentMotif.C
MSGS= \
Agent.msg \
AddLibraryAgent.msg \
BookmarkEdit.msg \
GraphicAgent.msg \
LibraryAgent.msg \
MapAgent.msg \
MarkList.msg \
MarkChooser.msg \
MessageAgent.msg \
NodeHistoryAgent.msg \
NodePrintAgent.msg \
NodeWindowAgent.msg \
PrefAgent.msg \
PrintPanelAgent.msg \
SearchHistoryList.msg \
SearchResultsAgent.msg \
SearchScopeAgent.msg \
UrlAgent.msg

View File

@@ -0,0 +1,3 @@
/* $XConsortium: Dialog.d /main/2 1996/07/25 11:34:39 drk $ */
#define C_Dialog
#define L_Agents

View File

@@ -0,0 +1,7 @@
/* $XConsortium: Dialog.hh /main/3 1996/06/11 16:11:55 cde-hal $ */
#ifdef MOTIF
#include "DialogMotif.hh"
#else
#error Unable to determine which window system to use.
#endif

View File

@@ -0,0 +1,28 @@
/*
* $XConsortium: DialogMotif.hh /main/3 1996/06/11 16:12:01 cde-hal $
*
* Copyright (c) 1991 HaL Computer Systems, Inc. All rights reserved.
* UNPUBLISHED -- rights reserved under the Copyright Laws of the United
* States. Use of a copyright notice is precautionary only and does not
* imply publication or disclosure.
*
* This software contains confidential information and trade secrets of HaL
* Computer Systems, Inc. Use, disclosure, or reproduction is prohibited
* without the prior express written permission of HaL Computer Systems, Inc.
*
* RESTRICTED RIGHTS LEGEND
* Use, duplication, or disclosure by the Government is subject to
* restrictions as set forth in subparagraph (c)(l)(ii) of the Rights in
* Technical Data and Computer Software clause at DFARS 252.227-7013.
* HaL Computer Systems, Inc.
* 1315 Dell Avenue, Campbell, CA 95008
*
*/
#include <WWL/wwl.h>
class Dialog : public WWL, public FolioObject
{
public: // functions
virtual void display() = 0;
};

View File

@@ -0,0 +1,10 @@
! $XConsortium: FileSelect.res /main/3 1996/07/18 15:02:42 drk $
Dtinfo
*file_select_popup
title: Dtinfo: File Selector
file_select
dialogStyle: dialog_full_application_modal
autoUnmanage: True
Help
sensitive: False

View File

@@ -0,0 +1,10 @@
/* $XConsortium: GraphicAgent.d /main/2 1996/07/25 11:35:04 drk $ */
#define C_Receiver
#define L_Support
#define C_Node
#define L_Doc
#define C_Agent
#define L_Agents

View File

@@ -0,0 +1,32 @@
/*
* $XConsortium: GraphicAgent.hh /main/3 1996/06/11 16:12:07 cde-hal $
*
* Copyright (c) 1992 HAL Computer Systems International, Ltd.
* All rights reserved. Unpublished -- rights reserved under
* the Copyright Laws of the United States. USE OF A COPYRIGHT
* NOTICE IS PRECAUTIONARY ONLY AND DOES NOT IMPLY PUBLICATION
* OR DISCLOSURE.
*
* THIS SOFTWARE CONTAINS CONFIDENTIAL INFORMATION AND TRADE
* SECRETS OF HAL COMPUTER SYSTEMS INTERNATIONAL, LTD. USE,
* DISCLOSURE, OR REPRODUCTION IS PROHIBITED WITHOUT THE
* PRIOR EXPRESS WRITTEN PERMISSION OF HAL COMPUTER SYSTEMS
* INTERNATIONAL, LTD.
*
* RESTRICTED RIGHTS LEGEND
* Use, duplication, or disclosure by the Government is subject
* to the restrictions as set forth in subparagraph (c)(l)(ii)
* of the Rights in Technical Data and Computer Software clause
* at DFARS 252.227-7013.
*
* HAL COMPUTER SYSTEMS INTERNATIONAL, LTD.
* 1315 Dell Avenue
* Campbell, CA 95008
*
*/
#ifdef MOTIF
#include "GraphicAgentMotif.hh"
#else
#error Unable to determine which window system to use.
#endif

View File

@@ -0,0 +1,22 @@
$ $XConsortium: GraphicAgent.msg /main/4 1996/10/25 15:09:30 cde-hal $
$set Set_GraphicAgent
$
$ messages specific to detached graphic window
$
1 "Dtinfo: Detached Graphic"
2 "Detached Graphic"
3 "Raster illustration (non-scalable)"
4 "Vector illustration (scalable)"
5 "Scaling illustration, please wait..."
$
$ Dtinfo*SetZoom
$
6 "Enter the new scaling percentage:"
$
$ Dtinfo*SetZoomTitle
$
7 "Dtinfo: Set Scale"
$
8 "Dtinfo: "
9 "Raster illustration (scalable)"

View File

@@ -0,0 +1,33 @@
Dtinfo
graphic
deleteResponse: destroy
minWidth: 220
minHeight: 170
form
menu_bar
*tearOffModel: tear_off_disabled
top_form; left_form; right_form
*XmToggleButton.indicatorType: one_of_many
*file_menu
print.sensitive: False
*view_menu
z_100.set: True
radioBehavior: true
*panner_menu
radioBehavior: true
message
left_form ; right_form; bottom_form
alignment: alignment_beginning
sep2
left_form; right_form; bottom_widget(message)
frame
top_widget(menu_bar); left_form; right_form; bottom_widget(sep2)
topOffset: 2; bottomOffset: 2; leftOffset: 2; rightOffset: 2
shadowType: shadow_etched_in
subform
porthole
borderWidth: 0
top_form; left_form; right_form; bottom_form
background: white
panner
internalSpace: 1

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,107 @@
/*
* $XConsortium: GraphicAgentMotif.hh /main/11 1996/11/21 11:55:31 cde-hal $
*
* Copyright (c) 1992 HAL Computer Systems International, Ltd.
* All rights reserved. Unpublished -- rights reserved under
* the Copyright Laws of the United States. USE OF A COPYRIGHT
* NOTICE IS PRECAUTIONARY ONLY AND DOES NOT IMPLY PUBLICATION
* OR DISCLOSURE.
*
* THIS SOFTWARE CONTAINS CONFIDENTIAL INFORMATION AND TRADE
* SECRETS OF HAL COMPUTER SYSTEMS INTERNATIONAL, LTD. USE,
* DISCLOSURE, OR REPRODUCTION IS PROHIBITED WITHOUT THE
* PRIOR EXPRESS WRITTEN PERMISSION OF HAL COMPUTER SYSTEMS
* INTERNATIONAL, LTD.
*
* RESTRICTED RIGHTS LEGEND
* Use, duplication, or disclosure by the Government is subject
* to the restrictions as set forth in subparagraph (c)(l)(ii)
* of the Rights in Technical Data and Computer Software clause
* at DFARS 252.227-7013.
*
* HAL COMPUTER SYSTEMS INTERNATIONAL, LTD.
* 1315 Dell Avenue
* Campbell, CA 95008
*
*/
#include <WWL/WTopLevelShell.h>
#include "UAS.hh"
class WXmPushButton;
class WXmLabel;
class WPixmap;
class WXawPanner ;
class WXmPulldownMenu ;
class WXmToggleButton;
class PixmapGraphic;
template <class T> class UAS_Pointer;
class GraphicAgent : public Agent,
public UAS_Receiver<DisplayGraphic>,
public UAS_Receiver<ReAttachGraphic>,
public UAS_Receiver<UAS_LibraryDestroyedMsg>
{
public:
GraphicAgent (UAS_Pointer<UAS_Common> &node_ptr,
UAS_Pointer<Graphic> &);
~GraphicAgent();
void display();
void popup();
void receive(DisplayGraphic &, void *client_data);
void receive(ReAttachGraphic &, void *client_data);
void receive(UAS_LibraryDestroyedMsg &, void *);
UAS_Pointer<Graphic> &graphic() { return f_graphic ; }
void attach_graphic();
void set_graphic(Graphic *gr) { f_graphic = gr; }
UAS_Pointer<UAS_Common> node_ptr() { return f_node_ptr; }
private:
void create_ui();
void visit_node();
void close_window();
void reattach();
void ui_destroyed();
void porthole_report(WCallback *);
void panner_report(WCallback *);
void adjust_panner(unsigned int state);
void set_panner(WCallback *);
void set_zoom(unsigned int scale);
void zoom_callback(WCallback *);
void fit_graphic_to_window_callback(WCallback*);
void fit_window_to_graphic_callback(WCallback*);
void fit_window_to_graphic();
void install_new_picture(PixmapGraphic *);
void refresh(const UAS_Pointer<Graphic> &);
void unset_scale_buttons();
private:
UAS_Pointer<UAS_Common> f_node_ptr ;
UAS_Pointer<Graphic> f_graphic ;
WTopLevelShell f_shell;
WXawPanner *f_panner;
WXmLabel *f_label;
WPixmap *f_pixmap_widget ;
unsigned int f_panner_state ;
unsigned int f_current_scale;
WXmPulldownMenu *f_view_menu ;
WXmLabel *f_message_area ;
WXmToggleButton *f_scale_button ;
WXmToggleButton *f_custom_scale ;
int f_setcustom ;
};

View File

@@ -0,0 +1,478 @@
/*
* $XConsortium: HelpAgent.C /main/16 1996/11/26 12:49:50 cde-hal $
*
* Copyright (c) 1993 HAL Computer Systems International, Ltd.
* All rights reserved. Unpublished -- rights reserved under
* the Copyright Laws of the United States. USE OF A COPYRIGHT
* NOTICE IS PRECAUTIONARY ONLY AND DOES NOT IMPLY PUBLICATION
* OR DISCLOSURE.
*
* THIS SOFTWARE CONTAINS CONFIDENTIAL INFORMATION AND TRADE
* SECRETS OF HAL COMPUTER SYSTEMS INTERNATIONAL, LTD. USE,
* DISCLOSURE, OR REPRODUCTION IS PROHIBITED WITHOUT THE
* PRIOR EXPRESS WRITTEN PERMISSION OF HAL COMPUTER SYSTEMS
* INTERNATIONAL, LTD.
*
* RESTRICTED RIGHTS LEGEND
* Use, duplication, or disclosure by the Government is subject
* to the restrictions as set forth in subparagraph (c)(l)(ii)
* of the Rights in Technical Data and Computer Software clause
* at DFARS 252.227-7013.
*
* HAL COMPUTER SYSTEMS INTERNATIONAL, LTD.
* 1315 Dell Avenue
* Campbell, CA 95008
*
*/
#define C_TOC_Element
#define L_Basic
#define C_WindowSystem
#define L_Other
#define C_HelpAgent
#define L_Agents
#define C_MessageMgr
#define C_EnvMgr
#define C_LibraryMgr
#define L_Managers
#include "Prelude.h"
#include "Other/XmStringLocalized.hh"
#include "Managers/CatMgr.hh"
#include "Registration.hh"
// HGL Help include file:
// #include "Help/Help.h"
#include "WWL/WXmPrimitive.h"
#include "WWL/WXmManager.h"
#include "WWL/WXmPushButton.h"
#include "WWL/WXmPushButtonGadget.h"
#include <X11/cursorfont.h>
//#include <Dt/HelpQuickD.h>
#include <Dt/Help.h>
#include <Dt/HelpDialog.h>
#include <stdio.h>
#include <iostream.h>
#define CLASS HelpAgent
#include "create_macros.hh"
#include "external-api/olias.h"
/******** The onitem cursor (32x32, xbm format) ********/
#define onitem32_width 32
#define onitem32_height 32
#define onitem32_x_hot 0
#define onitem32_y_hot 0
static unsigned char onitem32_bits[] = {
0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0x1f, 0xfc, 0xf9, 0xff, 0xe7, 0xf3,
0xf1, 0xff, 0xfb, 0xef, 0xe1, 0xff, 0xfd, 0xdf, 0xc1, 0xff, 0xfd, 0xdf,
0x83, 0xff, 0xfe, 0xbf, 0x03, 0xff, 0x7e, 0x7e, 0x03, 0xfe, 0xbe, 0x7d,
0x03, 0xfc, 0xbe, 0x7d, 0x03, 0xf0, 0xc1, 0x7d, 0x03, 0xe0, 0xff, 0x7e,
0x07, 0xc0, 0x7f, 0xbf, 0x07, 0x80, 0xbf, 0xbf, 0x07, 0x00, 0xde, 0xdf,
0x07, 0x00, 0xdc, 0xef, 0x07, 0x00, 0xdf, 0xf7, 0x07, 0x80, 0xdf, 0xfb,
0x0f, 0xc0, 0xdf, 0xfb, 0x0f, 0xc0, 0xdf, 0xfb, 0x0f, 0x81, 0xdf, 0xfb,
0xcf, 0x83, 0x3f, 0xfc, 0xef, 0x07, 0xff, 0xff, 0xff, 0x07, 0xff, 0xff,
0xff, 0x0f, 0x3e, 0xfc, 0xff, 0x0f, 0xde, 0xfb, 0xff, 0x1f, 0xdc, 0xfb,
0xff, 0x1f, 0xdc, 0xfb, 0xff, 0x3f, 0xd8, 0xfb, 0xff, 0x3f, 0x3c, 0xfc,
0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
#define onitem32_m_width 32
#define onitem32_m_height 32
#define onitem32_m_x_hot 0
#define onitem32_m_y_hot 0
static unsigned char onitem32_m_bits[] = {
0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0xe0, 0x03, 0x0f, 0x00, 0xf8, 0x0f,
0x1f, 0x00, 0xfc, 0x1f, 0x3f, 0x00, 0xfe, 0x3f, 0x7f, 0x00, 0xfe, 0x3f,
0xfe, 0x00, 0xff, 0x7f, 0xfe, 0x01, 0xff, 0xff, 0xfe, 0x03, 0x7f, 0xfe,
0xfe, 0x0f, 0x7f, 0xfe, 0xfe, 0x1f, 0x3e, 0xfe, 0xfe, 0x3f, 0x00, 0xff,
0xfc, 0x7f, 0x80, 0x7f, 0xfc, 0xff, 0xc1, 0x7f, 0xfc, 0xff, 0xe3, 0x3f,
0xfc, 0xff, 0xe7, 0x1f, 0xfc, 0xff, 0xe3, 0x0f, 0xfc, 0xff, 0xe0, 0x07,
0xf8, 0x7f, 0xe0, 0x07, 0xf8, 0x7f, 0xe0, 0x07, 0xf8, 0xff, 0xe0, 0x07,
0xf8, 0xfe, 0xc0, 0x03, 0x38, 0xfc, 0x01, 0x00, 0x18, 0xfc, 0x01, 0x00,
0x00, 0xf8, 0xc3, 0x03, 0x00, 0xf8, 0xe3, 0x07, 0x00, 0xf0, 0xe7, 0x07,
0x00, 0xf0, 0xe7, 0x07, 0x00, 0xe0, 0xef, 0x07, 0x00, 0xe0, 0xc7, 0x03,
0x00, 0xc0, 0x03, 0x00, 0x00, 0x80, 0x00, 0x00};
#define NULL_LOCATORID "__HaL__DefaultLocatorId__"
HelpAgent *HelpAgent::g_help_agent;
// /////////////////////////////////////////////////////////////////
// class constructor
// /////////////////////////////////////////////////////////////////
HelpAgent::HelpAgent()
: f_helper (NULL)
{
Widget app_shell = window_system().toplevel();
f_cursor = create_help_cursor(app_shell);
}
// /////////////////////////////////////////////////////////////////
// class destructor
// /////////////////////////////////////////////////////////////////
HelpAgent::~HelpAgent()
{
g_help_agent = NULL;
}
// /////////////////////////////////////////////////////////////////
// create_ui
// /////////////////////////////////////////////////////////////////
void
HelpAgent::create_ui()
{
Arg args[2];
int n;
Widget app_shell = window_system().toplevel();
f_appXrmDb = XrmGetDatabase (XtDisplay (app_shell));
n = 0;
XtSetArg(args[n], XmNtitle, "Dtinfo Help"); n++;
f_helper = DtCreateHelpDialog(app_shell,
"helpdialog",
args, n);
}
// /////////////////////////////////////////////////////////////////
// display_help
// /////////////////////////////////////////////////////////////////
void
HelpAgent::display_help (Widget w)
{
char* locator_id=get_locator_id(w);
if(locator_id == NULL)
{
message_mgr().error_dialog ((char*)UAS_String(
CATGETS(Set_Messages, 3, "No help available")));
return;
}
Wait_Cursor bob;
if (f_helper == NULL)
create_ui();
XtVaSetValues(f_helper,
DtNhelpType, DtHELP_TYPE_TOPIC,
DtNhelpVolume, "Infomgr",
DtNlocationId, locator_id,
XmNdialogStyle, XmDIALOG_MODELESS,
NULL);
XtManageChild(f_helper);
Popup();
}
void
HelpAgent::display_help (const String locatoridResourceString)
{
Wait_Cursor bob;
if (f_helper == NULL)
create_ui();
if (f_appXrmDb)
{
char* type;
XrmValue value;
if(env().debug())
cerr << "Resource string: " << locatoridResourceString << endl;
if(XrmGetResource(f_appXrmDb, locatoridResourceString,
locatoridResourceString, &type, &value ))
{
if(env().debug())
cerr << "Value: " << value.addr << endl;
XtVaSetValues(f_helper,
DtNhelpType, DtHELP_TYPE_TOPIC,
DtNhelpVolume, "Infomgr",
DtNlocationId, value.addr,
XmNdialogStyle, XmDIALOG_MODELESS,
NULL);
XtManageChild(f_helper);
Popup();
}
else
{
message_mgr().error_dialog (UAS_String(
CATGETS(Set_Messages, 3, "No help available")));
}
}
}
void
HelpAgent::Popup()
{
Widget app_shell = window_system().toplevel();
Widget parent = XtParent(f_helper);
//XRaiseWindow(XtDisplay(parent), XtWindow(parent));
UAS_List<UAS_String> env_infolibs(env().infolibs());
library_mgr().init(env_infolibs);
XMapRaised(XtDisplay(app_shell), XtWindow(app_shell));
XMapRaised(XtDisplay(parent), XtWindow(parent));
}
// /////////////////////////////////////////////////////////////////
// Help Callback Functions
// /////////////////////////////////////////////////////////////////
// This provides F1 help support
static void
helpCB(Widget w, XtPointer, XtPointer)
{
help_agent().help_cb(w);
}
void
HelpAgent::add_help_cb (Widget w)
{
XtAddCallback(w, XmNhelpCallback, helpCB, NULL);
}
void
HelpAgent::help_cb (Widget w)
{
display_help (w);
}
// /////////////////////////////////////////////////////////////////
// Context Help functions
// /////////////////////////////////////////////////////////////////
// This provides context-sensitive help
static void
contextHelpCB(Widget w, XtPointer, XtPointer)
{
help_agent().context_help(w);
}
void
HelpAgent::add_context_help (Widget w)
{
XtAddCallback(w, XmNactivateCallback, contextHelpCB, NULL);
}
void
HelpAgent::context_help(Widget widget)
{
while(!XtIsSubclass(widget, topLevelShellWidgetClass))
widget = XtParent(widget);
if (widget != NULL)
{
XEvent event;
Widget sel_widget = XmTrackingEvent(widget, f_cursor, False, &event);
if (sel_widget != NULL)
display_help(sel_widget);
}
}
// /////////////////////////////////////////////////////////////////
// Activate Help functions
// /////////////////////////////////////////////////////////////////
// This provides help for help buttons and help menu items.
// Widgets that register an activate callback also need a help
// callback.
static void
activateHelpCB(Widget w, XtPointer client_data, XtPointer)
{
help_agent().activate_help(w, (String)client_data);
}
void
HelpAgent::add_activate_help (Widget w, const String locator_id)
{
XtAddCallback(w, XmNactivateCallback, activateHelpCB, (XtPointer)locator_id);
add_help_cb(w);
}
void
HelpAgent::add_activate_help (WXmPushButton& w, const String locator_id)
{
XtAddCallback((Widget)w, XmNactivateCallback, activateHelpCB, (XtPointer)locator_id);
}
void
HelpAgent::add_activate_help (WXmPushButtonGadget& w, const String locator_id)
{
XtAddCallback((Widget)w, XmNactivateCallback, activateHelpCB, (XtPointer)locator_id);
}
void
HelpAgent::activate_help (Widget w, String locator_id)
{
if (locator_id != NULL)
display_help(locator_id);
else
display_help (w);
}
#if 0
void HelpAgent::add_context_help (WXmPrimitive &w)
{
w.SetHelpCallback (this, (WWL_FUN) &HelpAgent::context_help_cb);
}
void HelpAgent::add_context_help (WXmManager &w)
{
w.SetHelpCallback (this, (WWL_FUN) &HelpAgent::context_help_cb);
}
void
HelpAgent::add_context_help(WXmPushButton &pb, int context)
{
pb.SetHelpCallback (this, (WWL_FUN) &HelpAgent::context_help_cb);
//pb.SetActivateCallback (this, (WWL_FUN) &HelpAgent::context_help_cb,
// (XtPointer) context);
}
void
HelpAgent::add_context_help(WXmPushButtonGadget &pb, int context)
{
pb.SetActivateCallback (this, (WWL_FUN) &HelpAgent::context_help_cb,
(XtPointer) context);
}
void
HelpAgent::add_activate_help (WXmPushButton &pb, const String card_id)
{
pb.SetActivateCallback (this, (WWL_FUN) &HelpAgent::help_cb,
(void *) card_id);
}
void
HelpAgent::add_activate_help (WXmPushButtonGadget &pbg, const String card_id)
{
pbg.SetActivateCallback (this, (WWL_FUN) &HelpAgent::help_cb,
(void *) card_id);
}
void
HelpAgent::add_activate_help (Widget w, const String card_id)
{
pbg.SetActivateCallback (this, (WWL_FUN) &HelpAgent::help_cb,
(void *) card_id);
}
#endif
char*
HelpAgent::get_locator_id(const Widget w)
{
XtResource res;
//res.resource_name = (resourceName ? (String)resourceName : "helpcard");
res.resource_name = "helpcard";
res.resource_class = XtCString;
res.resource_type = XtRString;
res.resource_size = sizeof(String);
res.resource_offset = 0;
res.default_type = XtRString;
res.default_addr = NULL_LOCATORID;
char *wname = XtName(w); // Just for gdb
String string;
XtGetApplicationResources(w, &string, &res, 1, NULL, 0);
if(env().debug())
{
UAS_String wname = XtName(w);
UAS_String dot(".");
Widget parent = XtParent(w);
while(parent != NULL)
{
UAS_String Parent(XtName(parent));
wname = Parent + dot + wname;
parent = XtParent(parent);
}
cerr << "Widget: " << (char*)wname << endl;
}
if ( strcmp(string, NULL_LOCATORID)==0 )
{
// Locator id not found, look for it in a parent
//cerr << "Locator id not found, searching parent" << endl;
Widget parent = XtParent(w);
while(parent != NULL)
{
XtGetApplicationResources(parent, &string, &res, 1, NULL, 0);
if ( strcmp(string, NULL_LOCATORID)==0 ) // Not found
parent = XtParent(parent);
else
{
if(env().debug())
cerr << "Parent Locator is: " << string << endl;
return string;
}
}
return NULL;
}
if(env().debug())
cerr << "Locator is: " << string << endl;
return string;
}
Cursor
HelpAgent::create_help_cursor(Widget parent)
{
Display *display = XtDisplay(parent);
Screen *retScr = XtScreen(parent);
int screen = XScreenNumberOfScreen(retScr);
char *bits;
char *maskBits;
unsigned int width;
unsigned int height;
unsigned int xHotspot;
unsigned int yHotspot;
Pixmap pixmap;
Pixmap maskPixmap;
XColor xcolors[2];
Cursor cursor;
width = onitem32_width;
height = onitem32_height;
bits = (char *) onitem32_bits;
maskBits = (char *) onitem32_m_bits;
xHotspot = onitem32_x_hot;
yHotspot = onitem32_y_hot;
pixmap = XCreateBitmapFromData (display,
RootWindowOfScreen(XtScreen(parent)), bits,
width, height);
maskPixmap = XCreateBitmapFromData (display,
RootWindowOfScreen(XtScreen(parent)), maskBits,
width, height);
xcolors[0].pixel = BlackPixelOfScreen(ScreenOfDisplay(display, screen));
xcolors[1].pixel = WhitePixelOfScreen(ScreenOfDisplay(display, screen));
XQueryColors (display,
DefaultColormapOfScreen(ScreenOfDisplay(display, screen)), xcolors, 2);
cursor = XCreatePixmapCursor (display, pixmap, maskPixmap,
&(xcolors[0]), &(xcolors[1]),
xHotspot, yHotspot);
XFreePixmap (display, pixmap);
XFreePixmap (display, maskPixmap);
return cursor;
}

View File

@@ -0,0 +1,2 @@
/* $XConsortium: HelpAgent.d /main/2 1996/07/25 11:35:29 drk $ */
#define C_HelpAgent

View File

@@ -0,0 +1,95 @@
/*
* $XConsortium: HelpAgent.hh /main/7 1996/08/20 19:56:38 cde-hal $
*
* Copyright (c) 1993 HAL Computer Systems International, Ltd.
* All rights reserved. Unpublished -- rights reserved under
* the Copyright Laws of the United States. USE OF A COPYRIGHT
* NOTICE IS PRECAUTIONARY ONLY AND DOES NOT IMPLY PUBLICATION
* OR DISCLOSURE.
*
* THIS SOFTWARE CONTAINS CONFIDENTIAL INFORMATION AND TRADE
* SECRETS OF HAL COMPUTER SYSTEMS INTERNATIONAL, LTD. USE,
* DISCLOSURE, OR REPRODUCTION IS PROHIBITED WITHOUT THE
* PRIOR EXPRESS WRITTEN PERMISSION OF HAL COMPUTER SYSTEMS
* INTERNATIONAL, LTD.
*
* RESTRICTED RIGHTS LEGEND
* Use, duplication, or disclosure by the Government is subject
* to the restrictions as set forth in subparagraph (c)(l)(ii)
* of the Rights in Technical Data and Computer Software clause
* at DFARS 252.227-7013.
*
* HAL COMPUTER SYSTEMS INTERNATIONAL, LTD.
* 1315 Dell Avenue
* Campbell, CA 95008
*
*/
// This will eventually be a LongLived subclass... 18:22 22-Jun-93 DJB
#ifndef wwl_h
#include <WWL/wwl.h>
#endif
class WXmPrimitive;
class WXmManager;
class WXmPushButton;
class WXmPushButtonGadget;
class WXmGadget;
class HelpAgent
{
public:
HelpAgent();
~HelpAgent();
void display_help (Widget w);
void display_help (const String card_id);
void add_context_help (Widget);
void add_help_cb(Widget);
// locator_id is the name of an X resource
void add_activate_help (Widget, const String locator_id = NULL);
void add_activate_help (WXmPushButton &, const String locator_id = NULL);
void add_activate_help (WXmPushButtonGadget &, const String locator_id = NULL);
void activate_help (Widget,String);
void context_help (Widget);
void help_cb(Widget);
private:
void create_ui();
char *get_locator_id(const Widget w);
Cursor create_help_cursor(Widget);
void Popup();
private:
Widget f_helper;
Cursor f_cursor;
XrmDatabase f_appXrmDb;
#if defined(__osf__)
friend inline HelpAgent &help_agent();
#else
friend HelpAgent &help_agent();
#endif
static HelpAgent *g_help_agent;
};
// HelpAgent global accessor.
inline HelpAgent &
help_agent()
{
if (HelpAgent::g_help_agent == NULL)
HelpAgent::g_help_agent = new HelpAgent();
return (*HelpAgent::g_help_agent);
}

View File

@@ -0,0 +1,647 @@
// $TOG: IcccmAgent.C /main/8 1998/04/17 11:33:22 mgreess $
/* Copyright (c) 1994,1995,1996 FUJITSU LIMITED */
/* All Rights Reserved */
#define C_TOC_Element
#define L_Basic
#define C_IcccmAgent
#define L_Agents
#define C_WindowSystem
#define L_Other
#define C_MessageMgr
#define L_Managers
#include <X11/Xmu/Atoms.h>
#include <X11/Xmu/StdSel.h>
#include <Prelude.h>
#include "Other/XmStringLocalized.hh"
#include "Managers/CatMgr.hh"
#include "Registration.hh"
Time IcccmAgent::f_paste_activated_time;
IcccmAgent* IcccmAgent::f_selection_owner;
Atom IcccmAgent::f_owning_selection;
Widget IcccmAgent::f_owning_widget;
int IcccmAgent::f_getting_selection,
IcccmAgent::f_voluntary_disown;
IcccmAgent::IcccmAgent(void* real_object,
data_handler_t string_handler, data_exporter_t string_exporter)
: f_real_object(real_object),
f_string_handler(string_handler), f_string_exporter(string_exporter)
{
ON_DEBUG(cout << "***** IcccmAgent *****" << endl;);
}
IcccmAgent::IcccmAgent(void* real_object, data_handler_t string_handler)
: f_real_object(real_object),
f_string_handler(string_handler),
f_string_exporter((data_exporter_t) NULL)
{
ON_DEBUG(cout << "***** IcccmAgent *****" << endl;);
}
IcccmAgent::IcccmAgent(void* real_object, data_exporter_t string_exporter)
: f_real_object(real_object),
f_string_handler((data_handler_t) NULL),
f_string_exporter(string_exporter)
{
ON_DEBUG(cout << "***** IcccmAgent *****" << endl;);
}
IcccmAgent::~IcccmAgent()
{
ON_DEBUG(cout << "***** ~IcccmAgent *****" << endl;);
// if I am the owner, relinquishes the selection
if (f_selection_owner == this) {
assert( selection_owner() );
disown_selection();
assert( selection_owner() == NULL );
}
}
IcccmAgent*
IcccmAgent::selection_owner()
{
#ifndef NDEBUG
if (f_selection_owner)
assert( f_owning_selection != None && f_owning_widget != NULL );
else
assert( f_owning_selection == None && f_owning_widget == NULL );
#endif
return f_selection_owner;
}
Atom
IcccmAgent::value_handler(Widget w, XtPointer ia, Atom *selection,
Atom *type, XtPointer value, unsigned long *length, int *format)
{
if (*type == XT_CONVERT_FAIL) {
ON_DEBUG( cerr << "(ERROR) valueCB: conversion failed" << endl; );
return None;
}
if ((*type == None) || (*length == 0)) {
#ifdef DEBUG
cerr << "(ERROR) valueCB: this guy contradicted himself!" << endl;
#endif
return None;
}
if (*type == XA_TEXT(XtDisplay(w)) || *type == XA_STRING) {
#ifdef DEBUG
if (*type == XA_STRING)
cout << "(DEBUG) valueCB: import data as XA_STRING" << endl;
else
cout << "(DEBUG) valueCB: import data as XA_TEXT" << endl;
#endif
#ifdef Internationalize
if (*type == XA_STRING) { // Latin1
const char* p = extract_ascii((char*)value);
XtFree((char*)value);
value = (XtPointer)p;
}
else { // XA_TEXT
char* mbs = (char *)value;
wchar_t *wcs = (wchar_t*)malloc(strlen(mbs) + 1);
// check if value string can be valid in current locale
if (mbstowcs(wcs, mbs, strlen(mbs) + 1) < 0) { // invalid
const char* p = extract_ascii((char*)value);
XtFree((char*)value);
value = (XtPointer)p;
}
free(wcs);
}
#endif
#if 0
(((IcccmAgent*)ia)->*f_string_handler)((char*)value, *length);
#else
(((IcccmAgent*)f_real_object)->*f_string_handler)((char*)value, *length);
#endif
XtFree((char*)value);
}
else if (*type == XA_COMPOUND_TEXT(XtDisplay(w))) {
#ifdef DEBUG
cerr << "(DEBUG) valueCB: import data as XA_COMPOUND_TEXT" << endl;
#endif
XTextProperty prop;
prop.value = (unsigned char*)value;
prop.encoding = XA_COMPOUND_TEXT(XtDisplay(w));
prop.format = 8;
prop.nitems = *length;
char** string_list;
int count;
XmbTextPropertyToTextList(XtDisplay(w), &prop, &string_list, &count);
char *mbs = strdup("");
for (int i=0; i<count; i++) {
mbs = (char*)realloc(mbs, strlen(mbs) + strlen(string_list[i]) + 1);
mbs = strcat(mbs, string_list[i]);
}
XwcFreeStringList((wchar_t**)string_list);
#if 0
(((IcccmAgent*)ia)->*f_string_handler)(mbs, strlen(mbs));
#else
(((IcccmAgent*)f_real_object)->*f_string_handler)(mbs, strlen(mbs));
#endif
free((void*)mbs);
}
else {
#ifdef DEBUG
cerr << "(ERROR) valueCB: import data as unsupported Atom" << endl;
#endif
return None;
}
return *type;
}
Atom
IcccmAgent::target_handler(Widget w, XtPointer cdata, Atom *selection,
Atom *type, XtPointer value, unsigned long *length, int *format)
{
#define targetCB_return { nest--; return best_target; }
static int nest = 0;
nest++;
Atom best_target = None;
if (*type == XT_CONVERT_FAIL) {
if (nest < 5) { // retry
ON_DEBUG( cerr << "(ERROR) targetCB: failed, retry" << endl; );
XtGetSelectionValue(w, *selection, XA_TARGETS(XtDisplay(w)),
targetCB, cdata, f_paste_activated_time);
}
ON_DEBUG( cerr << "(ERROR) targetCB: failed" << endl; );
targetCB_return
}
// There is no owner or the owner doesn't understand XA_TARGETS!
// Hopefully, XA_TEXT will work.
if ((*type == None) || (*length == 0)) {
#ifdef DEBUG
cerr << "(WARNING) targetCB: "
<< "this guy doesn't understand XA_TARGETS, "
<< "just try XA_TEXT" << endl;
#endif
best_target = XA_TEXT(XtDisplay(w));
}
else
best_target = pickup_target(w, (Atom *)value, *length);
if (best_target == None)
targetCB_return
else
XtGetSelectionValue(w, *selection, best_target, valueCB,
cdata, f_paste_activated_time);
targetCB_return
#undef targetCB_return
}
void
IcccmAgent::get_selection_value(Widget w, Atom selection,
IcccmAgent* ia_this, Time as_of)
{
f_paste_activated_time = as_of;
XtGetSelectionValue(w, selection, XA_TARGETS(XtDisplay(w)),
targetCB, (XtPointer)ia_this, as_of);
}
void
IcccmAgent::targetCB(Widget w, XtPointer ia, Atom *selection,
Atom *type, XtPointer value, unsigned long *length, int *format)
{
Atom atom;
atom = ((IcccmAgent*)ia)->target_handler(w, ia, selection, type, value,
length, format);
if (atom == None) // failed to resolve the best atom
message_mgr().info_dialog ((char*)
UAS_String(CATGETS(Set_Messages, 4,
"There is no text selected.\n"
"Select some text, then try again.")));
}
void
IcccmAgent::valueCB(Widget w, XtPointer ia, Atom *selection,
Atom *type, XtPointer value, unsigned long *length, int *format)
{
Atom atom;
atom = ((IcccmAgent*)ia)->value_handler(w, ia, selection, type, value,
length, format);
if (atom == None) // failed to resolve the best atom
message_mgr().info_dialog ((char*)
UAS_String(CATGETS(Set_Messages, 4,
"There is no text selected.\n"
"Select some text, then try again.")));
}
Atom
IcccmAgent::pickup_target(Widget w, Atom *targets, unsigned long length)
{
Atom best = None;
Display* display = XtDisplay(w);
Atom *iter;
// search XA_COMPOUND_TEXT
for (iter=targets; iter<targets+length; iter++) {
if (*iter == XA_COMPOUND_TEXT(display)) {
best = *iter;
ON_DEBUG( cout << "(DEBUG) pickup XA_COMPOUND_TEXT" << endl; );
break;
}
}
if (best != None)
return best;
for (iter=targets; iter<targets+length; iter++) {
if (*iter == XA_TEXT(display)) {
best = *iter;
ON_DEBUG( cout << "(DEBUG) pickup XA_TEXT" << endl; );
break;
}
}
if (best != None)
return best;
for (iter=targets; iter<targets+length; iter++) {
if (*iter == XA_STRING) {
best = *iter;
ON_DEBUG( cout << "(DEBUG) pickup XA_STRING" << endl; );
break;
}
else
continue;
}
#ifdef DEBUG
if (best == None)
cout << "(DEBUG) no proper Atoms found" << endl;
#endif
return best;
}
// set new string_handler, returns old one
data_handler_t
IcccmAgent::set_string_handler(data_handler_t handler)
{
data_handler_t old_handler = f_string_handler;
f_string_handler = handler;
return old_handler;
}
// set new string_exporter, returns old one
data_exporter_t
IcccmAgent::set_string_exporter(data_exporter_t exporter)
{
data_exporter_t old_exporter = f_string_exporter;
f_string_exporter = exporter;
return old_exporter;
}
const char*
IcccmAgent::extract_ascii(const char* mbs)
{
if (mbs == NULL)
return NULL;
unsigned char* asciis = (unsigned char*)
XtMalloc((strlen(mbs) + 1) * sizeof(char));
const unsigned char* src = (const unsigned char*)mbs;
unsigned char* dest = asciis;
for (; *src; src++) {
if ((*src & 0x80) == 0) // msb off
*dest++ = *src;
}
*dest = '\0';
return (char*)asciis;
}
void
IcccmAgent::own_selection(Widget w, Atom selection, IcccmAgent* ia,
Time as_of, own_success_CB_t fs, own_fail_CB_t ff)
{
ON_DEBUG(cout << "***** IcccmAgent::own_selection *****" << endl;);
f_getting_selection = True;
#ifdef DEBUG
if (f_selection_owner && f_selection_owner != this)
cout << "(DEBUG) own_selection: "
<< "Another IcccmAgent already has selection" << endl;
#endif
// same owner, same widget, same selection
if (f_selection_owner == this &&
f_owning_selection == selection &&
f_owning_widget == w) {
#ifdef DEBUG
cout << "(DEBUG) own_selection: same combination, do nothing" << endl;
#endif
#if 0
(((IcccmAgent*)f_real_object)->*fs)();
#endif
}
else {
// DoneProc not supported yet
if (XtOwnSelection(w, selection, as_of,
convertCB, loseCB, NULL) == True) {
assert( selection_owner() == NULL );
f_selection_owner = this;
f_owning_selection = selection;
f_owning_widget = w;
#if defined(__osf__)
if (fs != NULL)
#else
if (fs)
#endif /* __osf__ */
#if defined(SC3) || defined (__osf__)
(ia->*fs)();
#else
(((IcccmAgent*)f_real_object)->*fs)();
#endif
}
else {
#if defined(__osf__)
if (ff != NULL)
#else
if (ff)
#endif /* __osf__ */
#if defined(SC3) || defined (__osf__)
(ia->*ff)();
#else
(((IcccmAgent*)f_real_object)->*ff)();
#endif
}
}
f_getting_selection = False;
}
Boolean
IcccmAgent::convertCB(Widget w, Atom* selection, Atom* target,
Atom* type_return, XtPointer* value_return,
unsigned long* length_return, int* format_return)
{
assert( f_selection_owner );
return f_selection_owner->
convert_handler(w, *selection, *target, *type_return,
*value_return, *length_return, *format_return);
}
// convert multibyte string to compound text, returns number of bytes in
// compound text
// NOTE: This routine allocates some space on heap, it's caller's
// responsibility to free it.
static int
mbstoct(const char* mbs, const char*& ct)
{
if (mbs == NULL) {
ct = NULL;
return -1;
}
XTextProperty prop;
if (XmbTextListToTextProperty(window_system().display(), (char**)&mbs, 1,
XCompoundTextStyle, &prop) != Success) {
ct = NULL;
return -2;
}
assert( prop.encoding == XA_COMPOUND_TEXT(window_system().display()) );
ct = (char*)prop.value;
return ((prop.nitems + 1) * prop.format / 8);
}
// extract latin1 characters from a multibyte string
// NOTE: This routine allocates some space on heap, it's caller's
// responsibility to free it using XtFree().
static const char*
extract_latin1(const char* mbs)
{
if (mbs == NULL)
return NULL;
char* latin1s = XtMalloc((strlen(mbs) + 1) * sizeof(char));
const char* src = mbs;
char* dest = latin1s;
while (*src) {
int mb_len = mblen(src, MB_CUR_MAX);
assert( mb_len > 0 );
if (mb_len == 1)
*dest++ = *src++;
else
src += mb_len;
}
*dest = '\0';
return latin1s;
}
Boolean
IcccmAgent::convert_handler(Widget w, Atom selection, Atom target,
Atom& type_return, XtPointer& value_return,
unsigned long& length_return, int& format_return)
{
Atom* target_list;
int* length;
XSelectionRequestEvent* req = XtGetSelectionRequest(w, selection, NULL);
if (target == XA_TARGETS(XtDisplay(w))) {
ON_DEBUG( cout << "selection requested as compound targets" << '\n' << flush; );
Atom* xmu_targets;
unsigned long xmu_length;
XmuConvertStandardSelection(w, req->time, &selection, &target, &type_return,
(caddr_t*)&xmu_targets, &xmu_length,
&format_return);
assert( type_return == XA_ATOM );
assert( format_return == sizeof(Atom) * 8 );
// put our targets in the list
#define OLIAS_SUPPORT_TARGETS 4
length_return = xmu_length + OLIAS_SUPPORT_TARGETS;
target_list = (Atom*)XtMalloc(sizeof(Atom) * length_return);
target_list[0] = XA_COMPOUND_TEXT(XtDisplay(w));
target_list[1] = XA_STRING;
target_list[2] = XA_TEXT(XtDisplay(w));
target_list[3] = XA_LENGTH(XtDisplay(w));
for (int i = OLIAS_SUPPORT_TARGETS; i < length_return; i++)
target_list[i] = xmu_targets[i - OLIAS_SUPPORT_TARGETS];
XtFree((char*)xmu_targets);
xmu_targets = NULL;
value_return = (XtPointer)target_list;
return True;
}
if (target == XA_COMPOUND_TEXT(XtDisplay(w))) {
ON_DEBUG( cout << "selection requested as compound text" << '\n' << flush; );
const char* ct;
#if 0
if ((length_return = mbstoct(selection_text(), ct)) <= 0)
#else
if ((length_return = mbstoct((((IcccmAgent*)f_real_object)->*f_string_exporter)(), ct)) <= 0)
#endif
return False;
type_return = XA_COMPOUND_TEXT(XtDisplay(w));
value_return = (XtPointer)ct;
format_return = 8;
return True;
}
#ifdef Internationalize
if (target == XA_STRING) {
ON_DEBUG( cout << "selection requested as string" << '\n' << flush; );
type_return = XA_STRING;
#if 0
value_return = selection_text();
#else
value_return = (XtPointer)
(((IcccmAgent*)f_real_object)->*f_string_exporter)();
#endif
const char* ct = extract_latin1((char*)&value_return);
XtFree((char*)&value_return);
value_return = (XtPointer)ct;
length_return = strlen(ct);
format_return = 8;
return True;
}
if (target == XA_TEXT(XtDisplay(w))) {
ON_DEBUG( cout << "selection requested as text" << '\n' << flush; );
type_return = XA_TEXT(XtDisplay(w));
#if 0
length_return = selection_text((char*)*value_return);
#else
value_return = (XtPointer)
(((IcccmAgent*)f_real_object)->*f_string_exporter)();
length_return = strlen((char*)value_return);
#endif
format_return = 8;
return True;
}
#else
if (target == XA_STRING ||
target == XA_TEXT (XtDisplay (w))) {
ON_DEBUG( cout << "selection requested as string or text" << '\n' << flush; );
type_return = XA_STRING;
#if 0
length_return = selection_text((char*)*value_return);
#else
//
// SWM 950427 -- selection_text is undefined. Looking at the
// above code, looks like strlen will do the job.
//
length_return = strlen ((char *) value_return);
#endif
format_return = 8;
return True;
}
#endif
if (target == XA_LENGTH(XtDisplay(w))) {
ON_DEBUG( cout << "selection requested as length" << '\n' << flush; );
const char* ct;
length = (int *)XtMalloc(sizeof(int));
// we should return the length of compound text
*length = mbstoct((((IcccmAgent*)f_real_object)->*f_string_exporter)(), ct);
XtFree((char*)ct);
type_return = XA_INTEGER;
value_return = (XtPointer)length;
length_return = 1;
format_return = sizeof(int) * 8;
return True;
}
ON_DEBUG( cout << "selection requested as others..." << '\n' << flush; );
// We couldn't do it, maybe Xmu can
return(XmuConvertStandardSelection(w, req->time, &selection, &target,
&type_return, (caddr_t*)value_return, &length_return,
&format_return));
}
// relinquish the selection voluntarily
void
IcccmAgent::disown_selection(Boolean call_app_handler)
{
ON_DEBUG(cout << "***** disown_selection *****" << endl;);
f_voluntary_disown = True; // guard not to execute loseCB
if (f_selection_owner == this) {
#ifdef DEBUG
cout << "(DEBUG) disown_selection: call XtDisownSelection" << endl;
#endif
XtDisownSelection(f_owning_widget, f_owning_selection, CurrentTime);
if (call_app_handler == True) // application specific handler
f_selection_owner->IcccmAgent::lose_selection(f_owning_selection);
reset_selection_info();
}
f_voluntary_disown = False; // reset the guard
}
void
IcccmAgent::reset_selection_info()
{
f_selection_owner = NULL;
f_owning_selection = None;
f_owning_widget = NULL;
}
// dispatch post processing function according to who is getting the selection
void
IcccmAgent::lose_selection(Atom atom)
{
if (ia_getting_selection() == True)
turn_over_selection(atom);
else {
// NOTE: lose_selection is virtual, if derived does not provide
// lose_selection, it ends in infinite loops!
lose_selection(atom);
}
}
// True if some IcccmAgent is about to own selection
Boolean
IcccmAgent::ia_getting_selection()
{
return (Boolean)f_getting_selection;
}
// loseCB is a callback that is called by XtDisownSelection
void
IcccmAgent::loseCB(Widget, Atom*)
{
ON_DEBUG(cout << "(DEBUG) ***** loseCB *****" << endl;);
// if this XtDisownSelection is voluntary, leave things to disown_selection
if (f_voluntary_disown == True)
return;
if (f_selection_owner) {
// perform application specific post processing
f_selection_owner->IcccmAgent::lose_selection(f_owning_selection);
f_selection_owner->reset_selection_info();
}
else {
#ifdef DEBUG
cerr << "(WARNING) loseCB: no selection owner exists" << endl;
#endif
}
}
Boolean
IcccmAgent::is_selection_owner()
{
return (f_selection_owner == this);
}

View File

@@ -0,0 +1,3 @@
/* $XConsortium: IcccmAgent.d /main/2 1996/07/25 11:35:52 drk $ */

View File

@@ -0,0 +1,128 @@
// $XConsortium: IcccmAgent.hh /main/3 1996/06/11 16:12:41 cde-hal $
/* Copyright (c) 1994,1995 FUJITSU LIMITED */
/* All Rights Reserved */
#ifndef ICCCM_AGENT_HH
#define ICCCM_AGENT_HH
#include <X11/Xatom.h>
#include <X11/Intrinsic.h>
#include <X11/Xmu/Atoms.h>
class IcccmAgent;
typedef void (IcccmAgent::* data_handler_t)(const char*, unsigned long);
// Arguments will be required to export non-texural data in the future
typedef char* (IcccmAgent::* data_exporter_t)();
typedef void (IcccmAgent::* own_success_CB_t)();
typedef void (IcccmAgent::* own_fail_CB_t)();
class IcccmAgent
{
public:
// NOTE: constructor take string handlers, that means, you have
// to set other handlers and/or exporters later.
IcccmAgent(void*, data_handler_t, data_exporter_t);
IcccmAgent(void*, data_handler_t);
IcccmAgent(void*, data_exporter_t);
~IcccmAgent();
data_handler_t set_string_handler(data_handler_t);
data_exporter_t set_string_exporter(data_exporter_t);
protected:
// target_handler is assumed to do:
// 1. calls pickup_target to select the best target
// if it could not find the best target, returns None
// 2. make a hook to get valueCB called
virtual Atom target_handler(Widget, XtPointer, Atom*, Atom*, XtPointer,
unsigned long*, int*);
// target_handler is assumed to dispatch each task to appropriate
// effective handlers according to type
// It returns None, if it could not dispatch a task
virtual Atom value_handler(Widget, XtPointer, Atom*, Atom*, XtPointer,
unsigned long*, int*);
virtual Atom pickup_target(Widget, Atom*, unsigned long);
static void get_selection_value(Widget, Atom, IcccmAgent*, Time);
#define GET_SELECTION_VALUE(widget, selection, as_of) \
get_selection_value(widget, selection, (IcccmAgent*)this, as_of)
// targetCB simply calls target_handler
static void targetCB(Widget, XtPointer, Atom*, Atom*, XtPointer,
unsigned long*, int*);
// valueCB simply calls value_handler
static void valueCB (Widget, XtPointer, Atom*, Atom*, XtPointer,
unsigned long*, int*);
void own_selection(Widget, Atom, IcccmAgent*, Time,
own_success_CB_t, own_fail_CB_t);
#define OWN_SELECTION(widget, selection, as_of, success_handler, fail_handler) \
own_selection(widget, selection, (IcccmAgent*)this, as_of, \
(own_success_CB_t)success_handler, (own_fail_CB_t)fail_handler)
// convertCB is a static wrapper to call convert_handler
static Boolean convertCB(Widget, Atom*, Atom*, Atom*, XtPointer*,
unsigned long*, int*);
virtual Boolean convert_handler(Widget, Atom, Atom,
Atom&, XtPointer&, unsigned long&, int&);
// NOTE: derived classes MUST provide this, although not pure virtual.
// lose_selection of derived class will be called when selection
// is robbed by another application.
virtual void lose_selection(Atom);
// turn_over_selection will be called when selection is turned over to
// another (including himself) IcccmAgent.
virtual void turn_over_selection(Atom) { };
// True if I am the selection owner
Boolean is_selection_owner();
// True if another (including me) IcccmAgent is about to get selection
Boolean ia_getting_selection();
// Disown selection voluntarily, if I am the owner
void disown_selection(Boolean call_app_handler = True);
#if 0
void set_eps_handler(data_handler_t);
void set_epsi_handler(data_handler_t);
void set_all_handlers(data_handler_t);
#endif
private:
// loseCB is a static wrapper to call lose_handler
static void loseCB(Widget, Atom*);
void reset_selection_info();
IcccmAgent* selection_owner();
static const char* extract_ascii(const char*);
data_handler_t f_string_handler;
#if 0
data_handler_t f_eps_handler;
data_handler_t f_epsi_handler;
#endif
data_exporter_t f_string_exporter;
static Time f_paste_activated_time;
void* f_real_object;
// Need this flag to know if we lost the selection to ourself or
// to another application in the lose_selection procedure.
static int f_getting_selection;
static int f_voluntary_disown;
// who owns the selection
static IcccmAgent* f_selection_owner;
static Atom f_owning_selection;
static Widget f_owning_widget;
};
#endif

View File

@@ -0,0 +1,58 @@
XCOMM $XConsortium: Imakefile /main/8 1996/08/21 15:41:09 drk $
DEPEND_DEFINES = $(CXXDEPENDINCLUDES)
MAKEFILEDEPS=Classlist.mk
LIBNAME=Agents
#ifdef DoLicenseManagement
INCLUDES=$(BROWSER_INCLUDES) $(MMDB_INCLUDES) $(LICENSE_L_INCLUDES)
EXTRA_DEFINES=-DLICENSE_MANAGEMENT
#else
XCOMM Should remove LICENSE_L_INCLUDES from this list in this case
INCLUDES=$(BROWSER_INCLUDES) $(COMMON_CLASS_INCLUDES)
#endif
#include "Classlist.mk"
OBJS=$(SRCS:.C=.o)
make_libfiles($(LIBNAME), $(CLASSES))
make_msgs($(LIBNAME), $(MSGS))
#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 3
SimpleLibraryT($(LIBNAME), $(OBJS), $(LIBDIR))
#else
SimpleLibrary($(LIBNAME), $(OBJS), $(LIBDIR))
#endif
#if defined(HPArchitecture)||defined(UXPArchitecture)
XCOMM
XCOMM SWM: +i option Hack for HP compiler. Problem is
XCOMM with things declared as static void _* as class members.
XCOMM Adding +i fixes problem.
XCOMM
SpecialCPlusPlusObjectRule(OutlineListViewMotif.o,,+i)
SpecialCPlusPlusObjectRule(ScopeMenu.o,,)
#endif
#if defined(UseWideChars) && defined(SunArchitecture) && (OSMajorVersion == 4)
WC_OBJS=\
NodeWindowAgentMotif.o \
PrefAgentMotif.o \
GraphicAgentMotif.o \
MarkIconMotif.o \
AnchorCanvas.o \
MarkCanvas.o \
MarkChooser.o \
ViewportMarks.o
SpecialCPlusPlusObjectRule($(WC_OBJS),,-I/VOB/olias/library/Xwchar/src)
#endif
clean::
$(RM) *..c
DependTarget()

View File

@@ -0,0 +1,10 @@
/* $XConsortium: LibraryAgent.d /main/2 1996/07/25 11:36:15 drk $ */
#define C_Agent
#define C_LibraryAgent
#define L_Agents
#define C_Receiver
#define L_Support
#define C_DisplayDocument
#define L_Doc

View File

@@ -0,0 +1,7 @@
/* $XConsortium: LibraryAgent.hh /main/3 1996/06/11 16:12:54 cde-hal $ */
#ifdef MOTIF
#include "LibraryAgentMotif.hh"
#else
#error Unable to determine which window system to use.
#endif

View File

@@ -0,0 +1,10 @@
$ $XConsortium: LibraryAgent.msg /main/4 1996/08/16 16:31:29 cde-hal $
$set Set_LibraryAgent
$
$ messages specific to booklist window
$
3 "Dtinfo: Infolib Book List"
63 "Welcome to Dtinfo!"
65 "Current Section"

View File

@@ -0,0 +1,124 @@
! $XConsortium: LibraryAgent.res /main/11 1996/11/20 18:28:21 cde-hal $
!====== Book list
!Dtinfo.doc_tree
Dtinfo
deleteResponse: do_nothing
allowShellResize: false
minWidth: 371
minHeight: 184
mainw
!------ Menus
menu_bar
*file_menu
view
sensitive: False
detach
sensitive: False
close
accelerator: Alt<Key>F4
acceleratorText: Alt F4
*edit_menu
copy
sensitive: False
remove
sensitive: False
*options_menu
auto_track
set: on
show_tool_bar
set: on
show_search_area
set: on
on_intro
labelString: Introduction...
mnemonic: I
on_tasks
labelString: Tasks...
mnemonic: T
on_reference
labelString: Reference...
mnemonic: R
on_item
labelString: On Item
on_help
labelString: On Help...
mnemonic: H
on_about
labelString: About Information Manager...
mnemonic: A
!------ Tools
tool_bar
view
labelPixmap: Dtview.m.pm
labelInsensitivePixmap: Dtviewi.m.pm
labelType: pixmap
sensitive: False
detach
labelPixmap: Dtdetach.m.pm
labelInsensitivePixmap: Dtdetachi.m.pm
labelType: pixmap
sensitive: False
print
labelPixmap: Dtinfopr.m.pm
labelInsensitivePixmap: Dtinfopri.m.pm
labelType: pixmap
sensitive: False
add
labelPixmap: Dtinfoadd.m.pm
labelInsensitivePixmap: Dtinfoaddi.m.pm
labelType: pixmap
remove
labelPixmap: Dtinfosub.m.pm
labelInsensitivePixmap: Dtinfosubi.m.pm
labelType: pixmap
sensitive: False
query
labelPixmap: Dteditqry.m.pm
labelInsensitivePixmap: Dteditqryi.m.pm
labelType: pixmap
marks_list
labelPixmap: Dtbmark.m.pm
labelInsensitivePixmap: Dtbmarki.m.pm
labelType: pixmap
!------ Search area
search_area
leftOffset: 3; rightOffset: 3
borderWidth: 1
*topAttachment: attach_form
*bottomAttachment: attach_form
scope
leftAttachment: attach_form
text
! text's attachments are set in the code
rightOffset: 3
bottomOffset: 2; topOffset: 2
scope_editor
right_form; rightOffset: 2
bottomOffset: 3; topOffset: 3
sensitive: true
!------ Message area
*frame
top_form
left_form
right_form
bottom_widget(message)
!------ List
*doc_list
listSizePolicy: constant
selectionPolicy: extended_select
visibleItemCount: 12
width: 400
translations: #override \
~s ~c ~m ~a <Btn1Down>: OutlineListBeginSelect()\n\
~s ~c ~m ~a <Btn1Up>: OutlineListEndSelect()
*message
shadowThickness: 0
bottom_form; left_form; right_form
topOffset: 2; bottomOffset: 2; leftOffset: 3; rightOffset: 2
text
marginWidth: 1; marginHeight: 1
editable: false
cursorPositionVisible: false
traversalOn: false
shadowThickness: 0

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,142 @@
/* $TOG: LibraryAgentMotif.hh /main/17 1998/07/27 14:20:31 mgreess $ */
/*
* (c) Copyright 1996 Digital Equipment Corporation.
* (c) Copyright 1996 Hewlett-Packard Company.
* (c) Copyright 1996 International Business Machines Corp.
* (c) Copyright 1996 Sun Microsystems, Inc.
* (c) Copyright 1996 Novell, Inc.
* (c) Copyright 1996 FUJITSU LIMITED.
* (c) Copyright 1996 Hitachi.
*/
/*
* Copyright (c) 1991 HaL Computer Systems, Inc. All rights reserved.
* UNPUBLISHED -- rights reserved under the Copyright Laws of the United
* States. Use of a copyright notice is precautionary only and does not
* imply publication or disclosure.
*
* This software contains confidential information and trade secrets of HaL
* Computer Systems, Inc. Use, disclosure, or reproduction is prohibited
* without the prior express written permission of HaL Computer Systems, Inc.
*
* RESTRICTED RIGHTS LEGEND
* Use, duplication, or disclosure by the Government is subject to
* restrictions as set forth in subparagraph (c)(l)(ii) of the Rights in
* Technical Data and Computer Software clause at DFARS 252.227-7013.
* HaL Computer Systems, Inc.
* 1315 Dell Avenue, Campbell, CA 95008
*
*/
#include "UAS.hh"
#include <X11/Intrinsic.h>
class OutlineListView;
class OutlineListView;
class WTopLevelShell;
class ScopeMenu;
class IcccmAgent;
struct OutlineListSelectionData;
class TrackingEntry;
class LibraryAgent : public Agent,
public UAS_Receiver<UAS_DocumentRetrievedMsg>
{
public: // functions
LibraryAgent();
~LibraryAgent();
// load infolib specified in any format
static int add_library(char*, Widget parent=NULL);
void display (OutlineList *library);
void track_to (UAS_Pointer<UAS_Common> &node_ptr);
void track (bool scroll = FALSE);
void popup();
bool popped_down() { return f_popped_down; }
void keep_forever()
{ f_keep_forever = TRUE; }
OutlineList *outline_list();
void library_removed (UAS_Pointer<UAS_Common> lib);
void close_set_sensitive(Boolean set) {
f_close_sensitive = set; if (f_close) XtSetSensitive(f_close, set); }
void copy_to_clipbd();
protected: // functions
void create_ui();
static void close_windowCB(Widget, XtPointer, XtPointer);
void close_window();
void ui_destroyed(); // leave in for backward compatibility
static void ui_destroyedCB(Widget, XtPointer, XtPointer);
static void detach_subtreeCB(Widget, XtPointer, XtPointer);
void detach_subtree();
static void add_libraryCB(Widget, XtPointer, XtPointer);
static void remove_libraryCB(Widget, XtPointer, XtPointer);
void entry_selected (void *, u_int notify_type);
static void display_nodeCB(Widget, XtPointer, XtPointer);
void display_node ();
static void printCB(Widget, XtPointer, XtPointer);
static void print_asCB(Widget, XtPointer, XtPointer);
void print(WCallback *);
void free_tracking_hierarchy();
static void auto_track_toggleCB(Widget, XtPointer, XtPointer);
// callbacks for use by drag and drop
static void destCB(Widget, XtPointer, XtPointer);
static void transferCB(Widget, XtPointer, XtPointer);
void receive (UAS_DocumentRetrievedMsg &message, void *client_data);
void text_callback(WCallback *wcb);
static void search_help (Widget w, XtPointer client_data,
XEvent *event, Boolean *);
void add_quick_help (Widget, const char* help_text);
static void quick_helpEH (Widget, XtPointer, XEvent *, Boolean *);
// void test();
private: // variables
//WTopLevelShell *f_shell;
Widget f_shell;
OutlineListView *f_doc_tree_view;
OutlineElement *f_oe;
Widget f_close;
Widget f_copy;
Widget f_detach;
Widget f_detach2;
Widget f_view;
Widget f_view2;
Widget f_print;
Widget f_print2;
Widget f_print_as;
Widget f_remove;
Widget f_remove2;
Widget f_auto_track;
bool f_keep_forever;
WCallback *f_wm_delete_callback;
TrackingEntry *f_tracking_hierarchy;
bool f_popped_down;
bool f_close_sensitive;
Widget f_status_text;
ScopeMenu *f_scope_menu;
UAS_List<UAS_String> f_help_text;
};
// inline:
inline
LibraryAgent::LibraryAgent()
: f_shell (NULL),
f_oe (NULL),
f_keep_forever (FALSE),
f_wm_delete_callback (NULL),
f_tracking_hierarchy (NULL),
f_popped_down (TRUE),
f_close (NULL),
f_close_sensitive (FALSE)
{
}

View File

@@ -0,0 +1,4 @@
/* $XConsortium: ListView.d /main/2 1996/07/25 11:36:39 drk $ */
#define C_Agent
#define C_ListView
#define L_Agents

View File

@@ -0,0 +1,7 @@
/* $XConsortium: ListView.hh /main/3 1996/06/11 16:12:59 cde-hal $ */
#ifdef MOTIF
#include "ListViewMotif.hh"
#else
#error Unable to determine which window system to use.
#endif

View File

@@ -0,0 +1,279 @@
/* Copyright (c) 1995,1996 FUJITSU LIMITED */
/* All Rights Reserved */
/*
* $XConsortium: ListViewMotif.C /main/9 1996/10/15 17:35:55 cde-hal $
*
* Copyright (c) 1992 HaL Computer Systems, Inc. All rights reserved.
* UNPUBLISHED -- rights reserved under the Copyright Laws of the United
* States. Use of a copyright notice is precautionary only and does not
* imply publication or disclosure.
*
* This software contains confidential information and trade secrets of HaL
* Computer Systems, Inc. Use, disclosure, or reproduction is prohibited
* without the prior express written permission of HaL Computer Systems, Inc.
*
* RESTRICTED RIGHTS LEGEND
* Use, duplication, or disclosure by the Government is subject to
* restrictions as set forth in subparagraph (c)(l)(ii) of the Rights in
* Technical Data and Computer Software clause at DFARS 252.227-7013.
* HaL Computer Systems, Inc.
* 1315 Dell Avenue, Campbell, CA 95008
*
*/
#include <WWL/WTopLevelShell.h>
#include <WWL/WXmPushButton.h>
#include <WWL/WXmList.h>
#include <WWL/WXmForm.h>
#include <WWL/WXmLabelGadget.h>
#include <WWL/WXmSeparator.h>
#include <stdio.h>
#define C_WindowSystem
#define L_Other
#define C_TOC_Element
#define C_List
#define L_Basic
#define C_HelpAgent
#define C_ListView
#define L_Agents
#include "Prelude.h"
#include "Other/XmStringLocalized.hh"
#include "Managers/CatMgr.hh"
#include "Registration.hh"
// /////////////////////////////////////////////////////////////////
// class destructor
// /////////////////////////////////////////////////////////////////
ListView::~ListView()
{
if (f_shell != NULL)
{
f_shell->Destroy();
delete f_shell;
delete f_list;
delete f_wm_delete_callback;
}
}
// /////////////////////////////////////////////////////////////////
// list - set/get the list
// /////////////////////////////////////////////////////////////////
void
ListView::list (List *list)
{
if (f_the_list != NULL)
f_the_list->
RemoveDependent ((notify_handler_t) &ListView::list_changed,
List::APPENDED);
f_the_list = list;
f_the_list->AddDependent ((notify_handler_t) &ListView::list_changed,
List::APPENDED);
display_list();
}
const List *
ListView::list()
{
return (f_the_list);
}
// /////////////////////////////////////////////////////////////////
// display - display it on the screen
// /////////////////////////////////////////////////////////////////
void
ListView::display()
{
if (f_shell == NULL)
{
create_ui_objects();
display_list();
}
f_shell->Popup();
f_shell->DeIconify();
}
// /////////////////////////////////////////////////////////////////
// create_ui_objects
// /////////////////////////////////////////////////////////////////
void
ListView::create_ui_objects()
{
/* -------- Create ui components. -------- */
f_shell = new WTopLevelShell (toplevel(), WPopup, f_name);
window_system().register_shell (f_shell);
WXmForm form (*f_shell, "form");
/* -------- allow child to be creative -------- */
child_create_ui_pre(form);
WXmPushButton close (form, "close", WAutoManage);
WXmPushButton help (form, "help", WAutoManage);
XtVaSetValues(close, XmNlabelString,
(XmString)XmStringLocalized(CATGETS(Set_AgentLabel, 12, "Close")), NULL);
XtVaSetValues(help, XmNlabelString,
(XmString)XmStringLocalized(CATGETS(Set_AgentLabel, 48, "Help")), NULL);
// 7/30/93 rtp - bear with this hack, it's a little bogus
char *help_name = new char[strlen(f_name) + strlen("_help") + 1];
sprintf(help_name, "%s%s", f_name, "_help");
// What i've done is appended '_help' to the widget name and added
// a help callback to the help button that will reference this name
help_agent().add_activate_help (help, help_name);
f_activate = WXmPushButton (form, "activate", WAutoManage);
XtVaSetValues(f_activate, XmNlabelString,
(XmString)XmStringLocalized(CATGETS(Set_AgentLabel, 165, "Display")), NULL);
// WXmLabelGadget label (form, "label", WAutoManage);
WXmSeparator separator (form, "separator", WAutoManage);
// NOTE: Fix WWL to have a scrolled list object!
Widget scrolled_list = XmCreateScrolledList (form, "list", NULL, 0);
f_list = new WXmList (scrolled_list);
f_list->Manage();
XmFontList defaultList;
{
XmFontList font;
XtVaGetValues(scrolled_list, XmNfontList, &font, NULL);
defaultList = XmFontListCopy(font);
}
if (window_system().dtinfo_space_font())
defaultList = XmFontListAppendEntry(defaultList,
window_system().dtinfo_space_font());
XtVaSetValues(scrolled_list, XmNfontList, defaultList, NULL);
/* -------- let child add anything else -------- */
child_create_ui_post(form);
/* -------- Callbacks -------- */
f_wm_delete_callback =
new WCallback (*f_shell, window_system().WM_DELETE_WINDOW(),
this, (WWL_FUN) &ListView::close_window);
close.SetActivateCallback (this, (WWL_FUN) &ListView::close_window);
f_list->SetSingleSelectionCallback (this, (WWL_FUN) &ListView::select);
f_list->SetBrowseSelectionCallback (this, (WWL_FUN) &ListView::select);
f_list->SetDefaultActionCallback (this, (WWL_FUN) &ListView::activate);
f_activate.SetActivateCallback (this, (WWL_FUN) &ListView::activate);
/* -------- Finalize -------- */
form.DefaultButton (f_activate);
form.ShadowThickness (0); // get rid of border turds (motif bug)
form.Manage();
}
// /////////////////////////////////////////////////////////////////
// display_list - put the list in the Motif list widget
// /////////////////////////////////////////////////////////////////
void
ListView::display_list()
{
// NOTE: What does it mean to display a NULL list? 6/22/92 djb
if (f_shell == NULL || f_the_list == NULL)
return;
int i;
// NOTE: There should be a wwl object for string tables!! 6/19/92 djb
XmStringTable st = (XmStringTable)
malloc (sizeof (XmStringTable) * f_the_list->length());
for (i = 0; i < f_the_list->length(); i++)
st[i] = display_value((*f_the_list)[i]);
// Basically bogus, but best fix for now. 18:32 10-May-94 DJB
f_list->DeselectAllItems();
WArgList args;
f_list->Items (st, args);
f_list->ItemCount (f_the_list->length(), args);
f_list->Set (args);
for (i = 0; i < f_the_list->length(); i++)
XmStringFree(st[i]);
free ((char *) st);
}
// /////////////////////////////////////////////////////////////////
// select
// /////////////////////////////////////////////////////////////////
void
ListView::select (WCallback *wcb)
{
XmListCallbackStruct *lcs = (XmListCallbackStruct *) wcb->CallData();
f_activate.SetSensitive (True);
f_selected_item = lcs->item_position - 1;
}
// /////////////////////////////////////////////////////////////////
// activate
// /////////////////////////////////////////////////////////////////
void
ListView::activate (WCallback *)
{
notify (ENTRY_ACTIVATE, (void *) f_selected_item);
}
// /////////////////////////////////////////////////////////////////
// close_window
// /////////////////////////////////////////////////////////////////
void
ListView::close_window (WCallback *)
{
f_shell->Popdown();
}
// /////////////////////////////////////////////////////////////////
// list_changed - the list was altered somehow
// /////////////////////////////////////////////////////////////////
void
ListView::list_changed (FolioObject *, u_int, void *, void *)
{
// NOTE: simplistic for now 6/23/92 djb
display_list();
}
XmString
ListView::display_value(FolioObject *object)
{
return XmStringCreateLocalized((char*)object->display_as());
}
void
ListView::child_create_ui_pre(WXmForm &)
{
/* -------- empty -------- */
}
void
ListView::child_create_ui_post(WXmForm &)
{
/* -------- empty -------- */
}

View File

@@ -0,0 +1,87 @@
/* Copyright (c) 1995,1996 FUJITSU LIMITED */
/* All Rights Reserved */
/*
* $XConsortium: ListViewMotif.hh /main/4 1996/06/11 18:28:31 cde-hal $
*
* Copyright (c) 1992 HaL Computer Systems, Inc. All rights reserved.
* UNPUBLISHED -- rights reserved under the Copyright Laws of the United
* States. Use of a copyright notice is precautionary only and does not
* imply publication or disclosure.
*
* This software contains confidential information and trade secrets of HaL
* Computer Systems, Inc. Use, disclosure, or reproduction is prohibited
* without the prior express written permission of HaL Computer Systems, Inc.
*
* RESTRICTED RIGHTS LEGEND
* Use, duplication, or disclosure by the Government is subject to
* restrictions as set forth in subparagraph (c)(l)(ii) of the Rights in
* Technical Data and Computer Software clause at DFARS 252.227-7013.
* HaL Computer Systems, Inc.
* 1315 Dell Avenue, Campbell, CA 95008
*
*/
class List;
class WindowSystem;
class WTopLevelShell;
class WXmList;
class WXmForm ;
// NOTE: how about an include to just declare all classes?? +/-'s?
// NOTE: In the future using notifies, agents should only need to know about
// the window system. 6/19/92 djb
#include <WWL/WXmPushButton.h>
class ListView : public Agent
{
public: // notification types
enum { ENTRY_ACTIVATE = FolioObjectLast, _LAST };
public: // functions
ListView (List *the_list = NULL, char *name = "ListView")
: f_the_list(NULL), f_shell (NULL), f_name (name)
{
list (the_list);
}
~ListView();
// displaying
virtual void display();
// accessing
void list (List *list);
const List *list();
protected: // virtual functions
virtual XmString display_value(FolioObject *);
protected: // functions
void create_ui_objects();
void close_window (WCallback *wcb);
void display_list();
void select (WCallback *);
void activate (WCallback *);
void list_changed (FolioObject *object, u_int notify_type,
void *notify_data, void *dependent_data);
/* -------- for children -------- */
virtual void child_create_ui_pre(WXmForm &form);
virtual void child_create_ui_post(WXmForm &form);
protected: // view variables
List *f_the_list;
protected: // ui variables
char *f_name;
WTopLevelShell *f_shell;
WXmList *f_list;
WCallback *f_wm_delete_callback;
int f_selected_item;
WXmPushButton f_activate;
};
// NOTE: For now a list view includes a dialog box. In a real OO UI toolkit
// it wouldn't, but we don't have time for that now :-( 5/19/92 djb

View File

@@ -0,0 +1,9 @@
/* $XConsortium: MapAgent.d /main/2 1996/07/25 11:37:04 drk $ */
#define C_Agent
#define L_Agents
#define C_Receiver
#define L_Support
#define C_DisplayDocument
#define L_Doc

View File

@@ -0,0 +1,13 @@
/* $XConsortium: MapAgent.hh /main/3 1996/06/11 16:13:16 cde-hal $ */
#ifndef _MapAgent_hh
#define _MapAgent_hh
#ifdef MOTIF
#include "MapAgentMotif.hh"
#else
#error Unable to determine which window system to use.
#endif
#endif /* _MapAgent_hh */
/* DO NOT ADD ANY LINES AFTER THIS #endif */

View File

@@ -0,0 +1,9 @@
$ $XConsortium: MapAgent.msg /main/3 1996/07/24 18:17:15 drk $
$set Set_MapAgent
$
$ messages specific to graphical map window
$
1 "Dtinfo: Local Map"
2 "Dtinfo: "

View File

@@ -0,0 +1,57 @@
Dtinfo
map
deleteResponse: unmap
minWidth: 300
minHeight: 300
*pane
spacing: 14
top_form; left_form; right_form; bottom_widget(bottomform)
allowResize: true
topform
*geoTattler: on
paneMinimum: 75
pframe
topAttachment: attach_form
bottomAttachment: attach_form
leftAttachment: attach_form
shadowType: shadow_in
panner
! cursorName: FONT decw$cursor 40 41
pointerColorBackground: white
shadowThickness: 0
borderWidth: 0
internalSpace: 1
! foreground: #8db4e8
lock
topAttachment: attach_form
bottomAttachment: attach_form
rightAttachment: attach_form
tframe
marginWidth: 2
marginHeight: 2
porthole
! *background: lightsteelblue4
borderWidth: 0
tree
autoReconfigure: false
XmForm
XmPushButton
shadowThickness: 0
borderWidth: 0
left_form
XmArrowButton
shadowThickness: 0
arrowDirection: arrow_right
width: 18; height: 18; topOffset: 2
right_form; top_form
*bottomform
leftAttachment: attach_form
rightAttachment: attach_form
bottomAttachment: attach_form
bottomOffset: 2
close
bottom_form; left_pos(33); right_pos(66); rightOffset: 3
help
left_pos(66)
bottom_form; right_form; rightOffset: 3

Some files were not shown because too many files have changed in this diff Show More