diff options
| author | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2001-08-16 22:28:01 +0000 | 
|---|---|---|
| committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2001-08-16 22:28:01 +0000 | 
| commit | 3bdd57805ef13558d09d4ec895f316e3b5cb52db (patch) | |
| tree | 6977452fbe68f744095cf44413e9cf8460f47aaf | |
| parent | 6dbc24d904d8dd71ece310e08cd01be72efff703 (diff) | |
| download | mdk-3bdd57805ef13558d09d4ec895f316e3b5cb52db.tar.gz mdk-3bdd57805ef13558d09d4ec895f316e3b5cb52db.tar.bz2 | |
toolbars added
| -rw-r--r-- | NEWS | 15 | ||||
| -rw-r--r-- | mixgtk/.cvsignore | 2 | ||||
| -rw-r--r-- | mixgtk/Makefile.am | 8 | ||||
| -rw-r--r-- | mixgtk/clear.xpm | 35 | ||||
| -rw-r--r-- | mixgtk/colors.xpm | 29 | ||||
| -rw-r--r-- | mixgtk/compile.xpm | 124 | ||||
| -rw-r--r-- | mixgtk/edit.xpm | 38 | ||||
| -rw-r--r-- | mixgtk/font.xpm | 40 | ||||
| -rw-r--r-- | mixgtk/fontl.xpm | 35 | ||||
| -rw-r--r-- | mixgtk/jump.xpm | 39 | ||||
| -rw-r--r-- | mixgtk/mixgtk.glade | 856 | ||||
| -rw-r--r-- | mixgtk/mixgtk_config.c | 16 | ||||
| -rw-r--r-- | mixgtk/mixgtk_config.h | 5 | ||||
| -rw-r--r-- | mixgtk/mixgtk_wm.c | 85 | ||||
| -rw-r--r-- | mixgtk/mixgtk_wm.h | 3 | ||||
| -rw-r--r-- | mixgtk/next.xpm | 30 | ||||
| -rw-r--r-- | mixgtk/onew.xpm | 124 | ||||
| -rw-r--r-- | mixgtk/open.xpm | 32 | ||||
| -rw-r--r-- | mixgtk/output.xpm | 38 | ||||
| -rw-r--r-- | mixgtk/run.xpm | 36 | ||||
| -rw-r--r-- | mixgtk/splitw.xpm | 119 | ||||
| -rw-r--r-- | mixgtk/symbols.xpm | 39 | 
22 files changed, 1565 insertions, 183 deletions
| @@ -6,6 +6,21 @@ See the end for copying conditions.  Please send mdk bug reports to bug-mdk@gnu.org.  --------------------------------------------------------------------------- +* Version 0.4.2 + +** New toolbars for gmixvm windows. + +** Toolbars can be hidden, using View->Toolbar checkbox. + +** New icon for the "goto loc pointer address" button. + +** The menu entry "Split windows" has been moved from "Settings" to +   "View" main menu, and renamed to "One window" in split mode. + +** Bug fix: the visibility of split windows when changing mode is now +   correctly handled. + +---------------------------------------------------------------------------  * Version 0.4 (22/07/01)  ** Split mode: gmixvm can now be run with the MIXVM, MIXAL and Devices diff --git a/mixgtk/.cvsignore b/mixgtk/.cvsignore index cf6d3f7..a84e6a2 100644 --- a/mixgtk/.cvsignore +++ b/mixgtk/.cvsignore @@ -1,4 +1,6 @@  .deps +.pics +.xvpics  Makefile  Makefile.in  gmixvm diff --git a/mixgtk/Makefile.am b/mixgtk/Makefile.am index c7e9aed..cf1bc56 100644 --- a/mixgtk/Makefile.am +++ b/mixgtk/Makefile.am @@ -10,14 +10,18 @@  # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the  # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -EXTRA_DIST = mixgtk.glade mixgtk.split.glade +XPMS = clear.xpm colors.xpm compile.xpm edit.xpm font.xpm fontl.xpm \ +       jump.xpm next.xpm onew.xpm open.xpm output.xpm run.xpm splitw.xpm \ +       symbols.xpm + +EXTRA_DIST = mixgtk.glade $(XPMS)  INCLUDES = -I$(includedir) -DGLADE_FILE=\""$(pkgdatadir)/mixgtk.glade"\"\             -DLOCAL_GLADE_FILE=\"mixgtk.glade\"  LDADD = $(top_builddir)/mixlib/libmix.a $(top_builddir)/lib/libreplace.a $(INTLLIBS)   if MAKE_GUI -pkgdata_DATA = mixgtk.glade +pkgdata_DATA = mixgtk.glade $(XPMS)  bin_PROGRAMS = gmixvm  gmixvm_SOURCES = gmixvm.c mixgtk.h mixgtk.c \                   mixgtk_config.h mixgtk_config.c \ diff --git a/mixgtk/clear.xpm b/mixgtk/clear.xpm new file mode 100644 index 0000000..1a9c80a --- /dev/null +++ b/mixgtk/clear.xpm @@ -0,0 +1,35 @@ +/* XPM */ +static char *magick[] = { +/* columns rows colors chars-per-pixel */ +"24 24 5 1", +"  c #01c601c601c6", +". c Gray40", +"X c #a527a527a527", +"o c #da22da22da22", +"O c None", +/* pixels */ +"OOOOOOOOOOOOOOOOOOOOOOOO", +"OOOOOOOOOOOOOOOOOOOOOOOO", +"OOOOOOOOOOOOOOOOOOOOOOOO", +"OOOOOOOOOOOOOOOOOOOOOOOO", +"OOOOOOOO       OOOOOOOOO", +"OOOOOO  XXooXX.  OOOOOOO", +"OOOOO XooooooooX. OOOOOO", +"OOOOO oooooooooo. OOOOOO", +"OOOO Xooo ooo XoX. OOOOO", +"OOOO Xoo   o   XXX OOOOO", +"OOOO oooo     XoXX OOOOO", +"OOOO Xoooo   ooXXX OOOOO", +"OOOO Xooo     OXX. OOOOO", +"OOOO Xoo   o   XX. OOOOO", +"OOOO .Xoo ooX XX.. OOOOO", +"OOOOO XXOoXoXXX.. OOOOOO", +"OOOOO XXXXXXXXX.. OOOOOO", +"OOOOOO  XXXX...  OOOOOOO", +"OOOOOOOO       OOOOOOOOO", +"OOOOOOOOOOOOOOOOOOOOOOOO", +"OOOOOOOOOOOOOOOOOOOOOOOO", +"OOOOOOOOOOOOOOOOOOOOOOOO", +"OOOOOOOOOOOOOOOOOOOOOOOO", +"OOOOOOOOOOOOOOOOOOOOOOOO" +}; diff --git a/mixgtk/colors.xpm b/mixgtk/colors.xpm new file mode 100644 index 0000000..351349f --- /dev/null +++ b/mixgtk/colors.xpm @@ -0,0 +1,29 @@ +/* XPM */ +static char * colors_xpm[] = { +"22 22 4 1", +" 	c None", +".	c #E21436", +"+	c #000000", +"@	c #2845D6", +"                      ", +"                      ", +"                      ", +"    ...............   ", +"    ...............   ", +"                      ", +"                      ", +"    +++++++++++++     ", +"                      ", +"    +++++++++         ", +"                      ", +"    +++++++++++       ", +"                      ", +"    @@@@@@@@@@@@@@    ", +"    @@@@@@@@@@@@@@    ", +"                      ", +"                      ", +"    +++++++++++++++   ", +"                      ", +"                      ", +"                      ", +"                      "}; diff --git a/mixgtk/compile.xpm b/mixgtk/compile.xpm new file mode 100644 index 0000000..3aea405 --- /dev/null +++ b/mixgtk/compile.xpm @@ -0,0 +1,124 @@ +/* XPM */ +static char * run_xpm[] = { +"22 22 99 2", +"  	c None", +". 	c #020204", +"+ 	c #F0F0EE", +"@ 	c #CBCBCC", +"# 	c #F2F2F0", +"$ 	c #B0B0B0", +"% 	c #DEDEDC", +"& 	c #F0F0EF", +"* 	c #8E8E8D", +"= 	c #E4E4E4", +"- 	c #C6C6C4", +"; 	c #E9E9E7", +"> 	c #DADAD8", +", 	c #D9D9D8", +"' 	c #E1E1E0", +") 	c #C5C5C4", +"! 	c #858584", +"~ 	c #E8E8E6", +"{ 	c #DFDFDE", +"] 	c #DBDBDA", +"^ 	c #D5D5D4", +"/ 	c #D3D3D4", +"( 	c #D1D1D1", +"_ 	c #CFCFCF", +": 	c #D5D5D5", +"< 	c #CCCCCC", +"[ 	c #5B5B5C", +"} 	c #DDDDDC", +"| 	c #D8D8D8", +"1 	c #D7D7D7", +"2 	c #CCCCCD", +"3 	c #CACACB", +"4 	c #C7C7C7", +"5 	c #BCBCBC", +"6 	c #DFDFE0", +"7 	c #DADADC", +"8 	c #D7D7D6", +"9 	c #969694", +"0 	c #656566", +"a 	c #B1B1B2", +"b 	c #C7C7C5", +"c 	c #C4C4C4", +"d 	c #BDBDBC", +"e 	c #898987", +"f 	c #393939", +"g 	c #040404", +"h 	c #070709", +"i 	c #C1C1C2", +"j 	c #BDBDBF", +"k 	c #A4A4A5", +"l 	c #D3D3D2", +"m 	c #090909", +"n 	c #BABABA", +"o 	c #B1B1B1", +"p 	c #9F9F9E", +"q 	c #AFAFAD", +"r 	c #CACAC9", +"s 	c #B1B1B0", +"t 	c #D0D0CF", +"u 	c #101012", +"v 	c #B8B8B7", +"w 	c #ADADAC", +"x 	c #8C8C8E", +"y 	c #7C7C7C", +"z 	c #747474", +"A 	c #B7B7B6", +"B 	c #B4B4B5", +"C 	c #D1D1CF", +"D 	c #CBCBCB", +"E 	c #C6C6C5", +"F 	c #B6B6B4", +"G 	c #B5B5B3", +"H 	c #ACACAD", +"I 	c #595958", +"J 	c #D2D2D1", +"K 	c #C7C7C6", +"L 	c #C3C3C4", +"M 	c #BEBEBC", +"N 	c #B4B4B4", +"O 	c #9A9A9A", +"P 	c #C1C1C0", +"Q 	c #BFBFBE", +"R 	c #BFBFBF", +"S 	c #BBBBBA", +"T 	c #ABABAD", +"U 	c #9C9C9E", +"V 	c #929293", +"W 	c #B3B3B1", +"X 	c #AEAEAC", +"Y 	c #A7A7A6", +"Z 	c #686869", +"` 	c #8E8E8F", +" .	c #19191B", +"..	c #222224", +"+.	c #A9A9A8", +"@.	c #848486", +"#.	c #2B2B2C", +"$.	c #878788", +"%.	c #1C1C1D", +"                                            ", +"                    . .                     ", +"                  . + @ .                   ", +"        . .       . # $ .       . .         ", +"      . % # .   . . & * . .   . = - .       ", +"      . # % ; . # # > , ' ) . = - ! .       ", +"        . ~ { % ' ] ^ / ( _ : < [ .         ", +"          . % } | 1 / ( 2 3 4 5 .           ", +"        . # 6 7 8 9 0 0 a b c d e .         ", +"    . . . # ] 1 9 f g h * 3 i j k . . .     ", +"  . + # # > ^ l 0 g     m = d n o p q o .   ", +"  . r s * , / t 0 h     u # 5 v w x y z .   ", +"    . . . ' ( 2 q * m u # > A B x . . .     ", +"        . ) C D E 3 = # , F G H I .         ", +"          . J K L i M 5 A N a O .           ", +"        . = K P Q R S v B T U a V .         ", +"      . = E [ . e k W X x I . O Y y .       ", +"      . - ! .   . . Z `  ..   . y z .       ", +"        . .       ..+.@..       . .         ", +"                  #.- $..                   ", +"                    . %.                    ", +"                                            "}; diff --git a/mixgtk/edit.xpm b/mixgtk/edit.xpm new file mode 100644 index 0000000..98df639 --- /dev/null +++ b/mixgtk/edit.xpm @@ -0,0 +1,38 @@ +/* XPM */ +static char *magick[] = { +/* columns rows colors chars-per-pixel */ +"24 24 8 1", +"  c Gray0", +". c #9adf6c4a4e4e", +"X c #adad8e8e3030", +"o c #858585857979", +"O c #a4ffa1fc996c", +"+ c #d791c99a9b6c", +"@ c #e113e0eee0c4", +"# c None", +/* pixels */ +"########################", +"########################", +"########################", +"#############  #########", +"###########  @@ ##### ##", +"#########  @@@@ #### + #", +"######   @@@@@@+ ## +. #", +"####  @@@@@@@+@@ # +. ##", +"### @@@@@.@@@@o@@ +. ###", +"### @@@@@.O@oo@@ +. ####", +"#### @@@@.@o@@@ +. #####", +"#### @@.O.@@@@ +. @ ####", +"##### @@..@@@ +. @@+ ###", +"##### @@@@@@ +. @@@+o ##", +"###### @@@@X@  +OOOOo ##", +"###### @@@@  OOOOOO+ ###", +"####### @OooO@@@@@  ####", +"####### @@@@@@@@@ ######", +"######## @@@@@@  #######", +"######## @@@@+ #########", +"######### @@  ##########", +"##########  ############", +"########################", +"########################" +}; diff --git a/mixgtk/font.xpm b/mixgtk/font.xpm new file mode 100644 index 0000000..92bbef5 --- /dev/null +++ b/mixgtk/font.xpm @@ -0,0 +1,40 @@ +/* XPM */ +static char * font_xpm[] = { +"22 22 15 1", +" 	c None", +".	c #000000", +"+	c #191919", +"@	c #414141", +"#	c #898989", +"$	c #424EE9", +"%	c #767FD5", +"&	c #B9BCD4", +"*	c #FFFFFF", +"=	c #EFEFEF", +"-	c #C2C2C2", +";	c #D1D1D1", +">	c #D5D5D5", +",	c #DCDCDC", +"'	c #E9E9E9", +"                      ", +"                      ", +"                      ", +"   ...............+@# ", +"   ...............$%& ", +"   ...............+@# ", +"   .***************** ", +"   .**.....=********* ", +"   .**..************* ", +"   .**..******...**-# ", +"   .**....=**..*..*@# ", +"   .**..*****..*..*@# ", +"   .**..*****..*..*@# ", +"   .**..*****..*..*@# ", +"   .**..******...**@# ", +"   .***************** ", +"   .***************** ", +"   ...............+@# ", +"   .;;;;;;;;;;;;;;>,' ", +"                      ", +"                      ", +"                      "}; diff --git a/mixgtk/fontl.xpm b/mixgtk/fontl.xpm new file mode 100644 index 0000000..1fd15a1 --- /dev/null +++ b/mixgtk/fontl.xpm @@ -0,0 +1,35 @@ +/* XPM */ +static char * fontl_xpm[] = { +"22 22 10 1", +" 	c None", +".	c #000000", +"+	c #A59B9B", +"@	c #414141", +"#	c #898989", +"$	c #B9BCD4", +"%	c #FFFFFF", +"&	c #EFEFEF", +"*	c #C2C2C2", +"=	c #191919", +"                      ", +"                      ", +"                      ", +"   .+++++++++++++++@# ", +"   .................$ ", +"   .%%%%%%%%%%%%%%%@# ", +"   .%%%%%%%%%%%%%%%%% ", +"   .%%.....&%%%%%%%%% ", +"   .%%..%%%%%%%%%%%%% ", +"   .%%..%%%%%%...%%*# ", +"   .%%....&%%..%..%@# ", +"   .%%..%%%%%..%..%@# ", +"   .%%..%%%%%..%..%@# ", +"   .%%..%%%%%..%..%@# ", +"   .%%..%%%%%%...%%@# ", +"   .%%%%%%%%%%%%%%%%% ", +"   ................%% ", +"   ...............=@# ", +"   .................. ", +"                      ", +"                      ", +"                      "}; diff --git a/mixgtk/jump.xpm b/mixgtk/jump.xpm new file mode 100644 index 0000000..2106d01 --- /dev/null +++ b/mixgtk/jump.xpm @@ -0,0 +1,39 @@ +/* XPM */ +static char *magick[] = { +/* columns rows colors chars-per-pixel */ +"24 24 9 1", +"  c #011b011b011b", +". c #5e0868be52d3", +"X c #7c7c8b8b6e6e", +"o c #8d4d97577838", +"O c #ae51c17b9b26", +"+ c #cedcabd6996e", +"@ c #d305cecebaba", +"# c #e38de39ed709", +"$ c None", +/* pixels */ +"$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$   $$$$$$$$", +"$$$$$$$$$$$  #@+  $$$$$$", +"$$$$$$$$$$$ ###@+ $$$$$$", +"$$$$$$$       #+++ $$$$$", +"$$$$$$$ o@##O ++++ $$$$$", +"$$$$$$$$ .OO. +++o $$$$$", +"$$$$$$  #@O.. +++ $$$$$$", +"$$$$  #@@Oo.. ++  $$$$$$", +"$$$ #@@OOo. .   $$$$$$$$", +"$$$$ #OOO. $  $$$$$$$$$$", +"$$$$$ #OX. $$$$$$$$$$$$$", +"$$$$$$ O. $$$$$$$$$$$$$$", +"$$$$$$$ . $$$$$$$$$$$$$$", +"$$$$$$$$ $$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$$$$$$$$$$$$" +}; diff --git a/mixgtk/mixgtk.glade b/mixgtk/mixgtk.glade index 34eab7e..45dd74b 100644 --- a/mixgtk/mixgtk.glade +++ b/mixgtk/mixgtk.glade @@ -6,7 +6,7 @@    <program_name>mixgtk</program_name>    <directory></directory>    <source_directory>src</source_directory> -  <pixmaps_directory>pixmaps</pixmaps_directory> +  <pixmaps_directory>.</pixmaps_directory>    <language>C</language>    <gnome_support>False</gnome_support>    <gettext_support>False</gettext_support> @@ -29,7 +29,7 @@    <position>GTK_WIN_POS_NONE</position>    <modal>False</modal>    <default_width>650</default_width> -  <default_height>500</default_height> +  <default_height>550</default_height>    <allow_shrink>False</allow_shrink>    <allow_grow>True</allow_grow>    <auto_shrink>True</auto_shrink> @@ -143,6 +143,54 @@        <widget>  	<class>GtkMenuItem</class> +	<name>view</name> +	<label>_View</label> +	<right_justify>False</right_justify> + +	<widget> +	  <class>GtkMenu</class> +	  <name>view_menu</name> + +	  <widget> +	    <class>GtkCheckMenuItem</class> +	    <name>show_toolbars</name> +	    <accelerator> +	      <modifiers>GDK_MOD1_MASK</modifiers> +	      <key>GDK_T</key> +	      <signal>activate</signal> +	    </accelerator> +	    <signal> +	      <name>toggled</name> +	      <handler>on_show_toolbars_toggled</handler> +	      <last_modification_time>Thu, 16 Aug 2001 20:14:16 GMT</last_modification_time> +	    </signal> +	    <label>_Toolbar</label> +	    <active>False</active> +	    <always_show_toggle>True</always_show_toggle> +	  </widget> + +	  <widget> +	    <class>GtkMenuItem</class> +	    <name>separator5</name> +	    <right_justify>False</right_justify> +	  </widget> + +	  <widget> +	    <class>GtkMenuItem</class> +	    <name>split_windows</name> +	    <signal> +	      <name>activate</name> +	      <handler>on_split_windows_activate</handler> +	      <last_modification_time>Thu, 16 Aug 2001 21:48:57 GMT</last_modification_time> +	    </signal> +	    <label>Split _windows</label> +	    <right_justify>False</right_justify> +	  </widget> +	</widget> +      </widget> + +      <widget> +	<class>GtkMenuItem</class>  	<name>debug</name>  	<label>D_ebug</label>  	<right_justify>False</right_justify> @@ -359,25 +407,6 @@  	  <widget>  	    <class>GtkMenuItem</class> -	    <name>separator1</name> -	    <right_justify>False</right_justify> -	  </widget> - -	  <widget> -	    <class>GtkCheckMenuItem</class> -	    <name>split_windows</name> -	    <signal> -	      <name>toggled</name> -	      <handler>on_split_windows_toggled</handler> -	      <last_modification_time>Sun, 24 Jun 2001 12:39:53 GMT</last_modification_time> -	    </signal> -	    <label>Split _windows</label> -	    <active>False</active> -	    <always_show_toggle>True</always_show_toggle> -	  </widget> - -	  <widget> -	    <class>GtkMenuItem</class>  	    <name>separator3</name>  	    <right_justify>False</right_justify>  	  </widget> @@ -441,8 +470,8 @@        <name>main_toolbar</name>        <orientation>GTK_ORIENTATION_HORIZONTAL</orientation>        <type>GTK_TOOLBAR_ICONS</type> -      <space_size>5</space_size> -      <space_style>GTK_TOOLBAR_SPACE_LINE</space_style> +      <space_size>15</space_size> +      <space_style>GTK_TOOLBAR_SPACE_EMPTY</space_style>        <relief>GTK_RELIEF_NORMAL</relief>        <tooltips>True</tooltips>        <child> @@ -452,15 +481,126 @@        </child>        <widget> -	<class>Placeholder</class> +	<class>GtkButton</class> +	<child_name>Toolbar:button</child_name> +	<name>load_button</name> +	<tooltip>Load MIX program</tooltip> +	<signal> +	  <name>clicked</name> +	  <handler>on_file_open_activate</handler> +	  <last_modification_time>Wed, 15 Aug 2001 00:10:04 GMT</last_modification_time> +	</signal> +	<label>Load</label> +	<icon>open.xpm</icon>        </widget>        <widget> -	<class>Placeholder</class> +	<class>GtkButton</class> +	<child_name>Toolbar:button</child_name> +	<name>compile_button</name> +	<tooltip>Compile MIXAL source</tooltip> +	<signal> +	  <name>clicked</name> +	  <handler>on_file_compile_activate</handler> +	  <last_modification_time>Wed, 15 Aug 2001 00:11:29 GMT</last_modification_time> +	</signal> +	<label>Build</label> +	<icon>compile.xpm</icon>        </widget>        <widget> -	<class>Placeholder</class> +	<class>GtkButton</class> +	<child_name>Toolbar:button</child_name> +	<name>edit_button</name> +	<tooltip>Edit MIXAL source</tooltip> +	<signal> +	  <name>clicked</name> +	  <handler>on_file_edit_activate</handler> +	  <last_modification_time>Wed, 15 Aug 2001 00:11:03 GMT</last_modification_time> +	</signal> +	<label>Edit</label> +	<icon>edit.xpm</icon> +      </widget> + +      <widget> +	<class>GtkVSeparator</class> +	<name>vseparator6</name> +      </widget> + +      <widget> +	<class>GtkButton</class> +	<child_name>Toolbar:button</child_name> +	<name>run_button</name> +	<tooltip>Run</tooltip> +	<signal> +	  <name>clicked</name> +	  <handler>on_debug_run_activate</handler> +	  <last_modification_time>Wed, 15 Aug 2001 00:12:03 GMT</last_modification_time> +	</signal> +	<label>Run</label> +	<icon>run.xpm</icon> +	<child> +	  <new_group>True</new_group> +	</child> +      </widget> + +      <widget> +	<class>GtkButton</class> +	<child_name>Toolbar:button</child_name> +	<name>step_button</name> +	<tooltip>Next</tooltip> +	<signal> +	  <name>clicked</name> +	  <handler>on_debug_next_activate</handler> +	  <last_modification_time>Wed, 15 Aug 2001 00:12:36 GMT</last_modification_time> +	</signal> +	<label>Step</label> +	<icon>next.xpm</icon> +      </widget> + +      <widget> +	<class>GtkButton</class> +	<child_name>Toolbar:button</child_name> +	<name>clear_button</name> +	<tooltip>Clear breakpoints</tooltip> +	<signal> +	  <name>clicked</name> +	  <handler>on_clear_breakpoints_activate</handler> +	  <last_modification_time>Thu, 16 Aug 2001 12:58:32 GMT</last_modification_time> +	</signal> +	<label>Clear</label> +	<icon>clear.xpm</icon> +      </widget> + +      <widget> +	<class>GtkButton</class> +	<child_name>Toolbar:button</child_name> +	<name>symbols_button</name> +	<tooltip>Symbol table</tooltip> +	<signal> +	  <name>clicked</name> +	  <handler>on_symbols_activate</handler> +	  <last_modification_time>Thu, 16 Aug 2001 13:02:32 GMT</last_modification_time> +	</signal> +	<label>Symbols</label> +	<icon>symbols.xpm</icon> +      </widget> + +      <widget> +	<class>GtkButton</class> +	<child_name>Toolbar:button</child_name> +	<name>button26</name> +	<tooltip>Split windows</tooltip> +	<signal> +	  <name>clicked</name> +	  <handler>on_split_windows_activate</handler> +	  <last_modification_time>Thu, 16 Aug 2001 22:18:03 GMT</last_modification_time> +	</signal> +	<label>Split</label> +	<icon>splitw.xpm</icon> +	<child> +	  <new_group>True</new_group> +	</child>        </widget>      </widget> @@ -933,32 +1073,6 @@  	  </widget>  	  <widget> -	    <class>GtkButton</class> -	    <name>loc_arrow</name> -	    <x>346</x> -	    <y>202</y> -	    <width>29</width> -	    <height>18</height> -	    <can_focus>True</can_focus> -	    <signal> -	      <name>clicked</name> -	      <handler>on_loc_arrow_clicked</handler> -	      <last_modification_time>Fri, 09 Mar 2001 20:18:22 GMT</last_modification_time> -	    </signal> -	    <label>-></label> -	    <relief>GTK_RELIEF_NONE</relief> -	  </widget> - -	  <widget> -	    <class>GtkHSeparator</class> -	    <name>hseparator1</name> -	    <x>8</x> -	    <y>232</y> -	    <width>377</width> -	    <height>16</height> -	  </widget> - -	  <widget>  	    <class>GtkLabel</class>  	    <name>program_label</name>  	    <x>184</x> @@ -1156,6 +1270,43 @@  	    <width>627</width>  	    <height>16</height>  	  </widget> + +	  <widget> +	    <class>GtkButton</class> +	    <name>loc_arrow</name> +	    <x>346</x> +	    <y>200</y> +	    <width>30</width> +	    <height>23</height> +	    <tooltip>View loc address</tooltip> +	    <can_focus>True</can_focus> +	    <signal> +	      <name>clicked</name> +	      <handler>on_loc_arrow_clicked</handler> +	      <last_modification_time>Thu, 16 Aug 2001 21:01:57 GMT</last_modification_time> +	    </signal> +	    <relief>GTK_RELIEF_NORMAL</relief> + +	    <widget> +	      <class>GtkPixmap</class> +	      <name>pixmap1</name> +	      <filename>jump.xpm</filename> +	      <xalign>0.5</xalign> +	      <yalign>0.5</yalign> +	      <xpad>0</xpad> +	      <ypad>0</ypad> +	      <build_insensitive>True</build_insensitive> +	    </widget> +	  </widget> + +	  <widget> +	    <class>GtkHSeparator</class> +	    <name>hseparator1</name> +	    <x>8</x> +	    <y>232</y> +	    <width>377</width> +	    <height>16</height> +	  </widget>  	</widget>  	<widget> @@ -1388,7 +1539,7 @@    <position>GTK_WIN_POS_NONE</position>    <modal>False</modal>    <default_width>570</default_width> -  <default_height>215</default_height> +  <default_height>235</default_height>    <allow_shrink>True</allow_shrink>    <allow_grow>True</allow_grow>    <auto_shrink>True</auto_shrink> @@ -1548,6 +1699,37 @@  	    <active>False</active>  	    <always_show_toggle>True</always_show_toggle>  	  </widget> + +	  <widget> +	    <class>GtkCheckMenuItem</class> +	    <name>show_toolbars</name> +	    <signal> +	      <name>toggled</name> +	      <handler>on_show_toolbars_toggled</handler> +	      <last_modification_time>Thu, 16 Aug 2001 20:29:52 GMT</last_modification_time> +	    </signal> +	    <label>_Toolbars</label> +	    <active>False</active> +	    <always_show_toggle>True</always_show_toggle> +	  </widget> + +	  <widget> +	    <class>GtkMenuItem</class> +	    <name>separator4</name> +	    <right_justify>False</right_justify> +	  </widget> + +	  <widget> +	    <class>GtkMenuItem</class> +	    <name>one_window</name> +	    <signal> +	      <name>activate</name> +	      <handler>on_one_window_activate</handler> +	      <last_modification_time>Thu, 16 Aug 2001 21:43:42 GMT</last_modification_time> +	    </signal> +	    <label>One _window</label> +	    <right_justify>False</right_justify> +	  </widget>  	</widget>        </widget> @@ -1774,25 +1956,6 @@  	  </widget>  	  <widget> -	    <class>GtkCheckMenuItem</class> -	    <name>split_windows</name> -	    <signal> -	      <name>toggled</name> -	      <handler>on_split_windows_toggled</handler> -	      <last_modification_time>Sun, 24 Jun 2001 12:26:00 GMT</last_modification_time> -	    </signal> -	    <label>Split _windows</label> -	    <active>True</active> -	    <always_show_toggle>True</always_show_toggle> -	  </widget> - -	  <widget> -	    <class>GtkMenuItem</class> -	    <name>separator3</name> -	    <right_justify>False</right_justify> -	  </widget> - -	  <widget>  	    <class>GtkMenuItem</class>  	    <name>save</name>  	    <tooltip>Save current settings</tooltip> @@ -1858,6 +2021,176 @@      </widget>      <widget> +      <class>GtkToolbar</class> +      <name>main_toolbar</name> +      <orientation>GTK_ORIENTATION_HORIZONTAL</orientation> +      <type>GTK_TOOLBAR_ICONS</type> +      <space_size>15</space_size> +      <space_style>GTK_TOOLBAR_SPACE_EMPTY</space_style> +      <relief>GTK_RELIEF_NORMAL</relief> +      <tooltips>True</tooltips> +      <child> +	<padding>0</padding> +	<expand>False</expand> +	<fill>False</fill> +      </child> + +      <widget> +	<class>GtkButton</class> +	<child_name>Toolbar:button</child_name> +	<name>button4</name> +	<tooltip>Load MIX program</tooltip> +	<signal> +	  <name>clicked</name> +	  <handler>on_file_open_activate</handler> +	  <last_modification_time>Wed, 15 Aug 2001 00:10:04 GMT</last_modification_time> +	</signal> +	<label>Load</label> +	<icon>open.xpm</icon> +      </widget> + +      <widget> +	<class>GtkButton</class> +	<child_name>Toolbar:button</child_name> +	<name>button5</name> +	<tooltip>Compile MIXAL source</tooltip> +	<signal> +	  <name>clicked</name> +	  <handler>on_file_compile_activate</handler> +	  <last_modification_time>Wed, 15 Aug 2001 00:11:29 GMT</last_modification_time> +	</signal> +	<label>Build</label> +	<icon>compile.xpm</icon> +      </widget> + +      <widget> +	<class>GtkButton</class> +	<child_name>Toolbar:button</child_name> +	<name>button6</name> +	<tooltip>Edit MIXAL source</tooltip> +	<signal> +	  <name>clicked</name> +	  <handler>on_file_edit_activate</handler> +	  <last_modification_time>Wed, 15 Aug 2001 00:11:03 GMT</last_modification_time> +	</signal> +	<label>Edit</label> +	<icon>edit.xpm</icon> +      </widget> + +      <widget> +	<class>GtkVSeparator</class> +	<name>vseparator7</name> +      </widget> + +      <widget> +	<class>GtkButton</class> +	<child_name>Toolbar:button</child_name> +	<name>button7</name> +	<tooltip>Run</tooltip> +	<signal> +	  <name>clicked</name> +	  <handler>on_debug_run_activate</handler> +	  <last_modification_time>Wed, 15 Aug 2001 00:12:03 GMT</last_modification_time> +	</signal> +	<label>Run</label> +	<icon>run.xpm</icon> +	<child> +	  <new_group>True</new_group> +	</child> +      </widget> + +      <widget> +	<class>GtkButton</class> +	<child_name>Toolbar:button</child_name> +	<name>button8</name> +	<tooltip>Next</tooltip> +	<signal> +	  <name>clicked</name> +	  <handler>on_debug_next_activate</handler> +	  <last_modification_time>Wed, 15 Aug 2001 00:12:36 GMT</last_modification_time> +	</signal> +	<label>Step</label> +	<icon>next.xpm</icon> +      </widget> + +      <widget> +	<class>GtkButton</class> +	<child_name>Toolbar:button</child_name> +	<name>button9</name> +	<tooltip>Clear breakpoints</tooltip> +	<signal> +	  <name>clicked</name> +	  <handler>on_clear_breakpoints_activate</handler> +	  <last_modification_time>Thu, 16 Aug 2001 12:58:32 GMT</last_modification_time> +	</signal> +	<label>Clear</label> +	<icon>clear.xpm</icon> +      </widget> + +      <widget> +	<class>GtkButton</class> +	<child_name>Toolbar:button</child_name> +	<name>button10</name> +	<tooltip>Symbol table</tooltip> +	<signal> +	  <name>clicked</name> +	  <handler>on_symbols_activate</handler> +	  <last_modification_time>Thu, 16 Aug 2001 13:02:32 GMT</last_modification_time> +	</signal> +	<label>Symbols</label> +	<icon>symbols.xpm</icon> +      </widget> + +      <widget> +	<class>GtkButton</class> +	<child_name>Toolbar:button</child_name> +	<name>button24</name> +	<tooltip>Command log font</tooltip> +	<signal> +	  <name>clicked</name> +	  <handler>on_log_font_activate</handler> +	  <last_modification_time>Thu, 16 Aug 2001 15:04:53 GMT</last_modification_time> +	</signal> +	<label>Font</label> +	<icon>font.xpm</icon> +	<child> +	  <new_group>True</new_group> +	</child> +      </widget> + +      <widget> +	<class>GtkButton</class> +	<child_name>Toolbar:button</child_name> +	<name>button25</name> +	<tooltip>Command prompt font</tooltip> +	<signal> +	  <name>clicked</name> +	  <handler>on_prompt_font_activate</handler> +	  <last_modification_time>Thu, 16 Aug 2001 15:05:48 GMT</last_modification_time> +	</signal> +	<label>Font</label> +	<icon>fontl.xpm</icon> +      </widget> + +      <widget> +	<class>GtkButton</class> +	<child_name>Toolbar:button</child_name> +	<name>button27</name> +	<tooltip>One window</tooltip> +	<signal> +	  <name>clicked</name> +	  <handler>on_one_window_activate</handler> +	  <last_modification_time>Thu, 16 Aug 2001 22:19:55 GMT</last_modification_time> +	</signal> +	<label>One window</label> +	<icon>onew.xpm</icon> +	<child> +	  <new_group>True</new_group> +	</child> +      </widget> +    </widget> + +    <widget>        <class>GtkVBox</class>        <name>vbox3</name>        <homogeneous>False</homogeneous> @@ -3953,23 +4286,6 @@      </widget>      <widget> -      <class>GtkButton</class> -      <name>loc_arrow</name> -      <x>346</x> -      <y>202</y> -      <width>29</width> -      <height>18</height> -      <can_focus>True</can_focus> -      <signal> -	<name>clicked</name> -	<handler>on_loc_arrow_clicked</handler> -	<last_modification_time>Fri, 09 Mar 2001 20:18:22 GMT</last_modification_time> -      </signal> -      <label>-></label> -      <relief>GTK_RELIEF_NONE</relief> -    </widget> - -    <widget>        <class>GtkHSeparator</class>        <name>hseparator1</name>        <x>8</x> @@ -4027,24 +4343,6 @@      </widget>      <widget> -      <class>GtkCheckButton</class> -      <name>over_toggle</name> -      <x>288</x> -      <y>168</y> -      <width>88</width> -      <height>16</height> -      <can_focus>True</can_focus> -      <signal> -	<name>toggled</name> -	<handler>on_overflow_toggled</handler> -	<last_modification_time>Tue, 06 Mar 2001 21:32:39 GMT</last_modification_time> -      </signal> -      <label>Overflow</label> -      <active>False</active> -      <draw_indicator>True</draw_indicator> -    </widget> - -    <widget>        <class>GtkRadioButton</class>        <name>greater_radio</name>        <x>336</x> @@ -4176,6 +4474,52 @@        <width>627</width>        <height>16</height>      </widget> + +    <widget> +      <class>GtkButton</class> +      <name>loc_arrow_split</name> +      <x>346</x> +      <y>200</y> +      <width>30</width> +      <height>23</height> +      <tooltip>View loc address</tooltip> +      <can_focus>True</can_focus> +      <signal> +	<name>clicked</name> +	<handler>on_loc_arrow_clicked</handler> +	<last_modification_time>Thu, 16 Aug 2001 21:01:57 GMT</last_modification_time> +      </signal> +      <relief>GTK_RELIEF_NORMAL</relief> + +      <widget> +	<class>GtkPixmap</class> +	<name>pixmap2</name> +	<filename>jump.xpm</filename> +	<xalign>0.5</xalign> +	<yalign>0.5</yalign> +	<xpad>0</xpad> +	<ypad>0</ypad> +	<build_insensitive>True</build_insensitive> +      </widget> +    </widget> + +    <widget> +      <class>GtkCheckButton</class> +      <name>over_toggle</name> +      <x>288</x> +      <y>168</y> +      <width>88</width> +      <height>16</height> +      <can_focus>True</can_focus> +      <signal> +	<name>toggled</name> +	<handler>on_overflow_toggled</handler> +	<last_modification_time>Tue, 06 Mar 2001 21:32:39 GMT</last_modification_time> +      </signal> +      <label>Overflow</label> +      <active>False</active> +      <draw_indicator>True</draw_indicator> +    </widget>    </widget>  </widget> @@ -4208,74 +4552,205 @@    <type>GTK_WINDOW_TOPLEVEL</type>    <position>GTK_WIN_POS_NONE</position>    <modal>False</modal> -  <default_width>550</default_width> -  <default_height>200</default_height> +  <default_width>570</default_width> +  <default_height>225</default_height>    <allow_shrink>True</allow_shrink>    <allow_grow>True</allow_grow>    <auto_shrink>False</auto_shrink>    <widget> -    <class>GtkScrolledWindow</class> -    <name>scrolledwindow27</name> -    <hscrollbar_policy>GTK_POLICY_ALWAYS</hscrollbar_policy> -    <vscrollbar_policy>GTK_POLICY_AUTOMATIC</vscrollbar_policy> -    <hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy> -    <vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy> +    <class>GtkVBox</class> +    <name>vbox5</name> +    <homogeneous>False</homogeneous> +    <spacing>0</spacing>      <widget> -      <class>GtkCList</class> -      <name>mixal_clist</name> -      <tooltip>Click to toggle breakpoint</tooltip> -      <can_focus>True</can_focus> -      <events>GDK_POINTER_MOTION_MASK</events> -      <signal> -	<name>select_row</name> -	<handler>on_mixal_select_row</handler> -	<after>True</after> -	<last_modification_time>Sun, 11 Mar 2001 01:15:28 GMT</last_modification_time> -      </signal> -      <signal> -	<name>motion_notify_event</name> -	<handler>on_mixal_motion_notify_event</handler> -	<last_modification_time>Sun, 17 Jun 2001 19:44:48 GMT</last_modification_time> -      </signal> -      <signal> -	<name>leave_notify_event</name> -	<handler>on_mixal_leave_notify_event</handler> -	<last_modification_time>Sat, 23 Jun 2001 22:26:17 GMT</last_modification_time> -      </signal> -      <columns>2</columns> -      <column_widths>152,80</column_widths> -      <selection_mode>GTK_SELECTION_SINGLE</selection_mode> -      <show_titles>True</show_titles> -      <shadow_type>GTK_SHADOW_IN</shadow_type> +      <class>GtkToolbar</class> +      <name>mixal_toolbar</name> +      <border_width>2</border_width> +      <orientation>GTK_ORIENTATION_HORIZONTAL</orientation> +      <type>GTK_TOOLBAR_ICONS</type> +      <space_size>15</space_size> +      <space_style>GTK_TOOLBAR_SPACE_EMPTY</space_style> +      <relief>GTK_RELIEF_NORMAL</relief> +      <tooltips>True</tooltips> +      <child> +	<padding>0</padding> +	<expand>False</expand> +	<fill>False</fill> +      </child>        <widget> -	<class>GtkLabel</class> -	<child_name>CList:title</child_name> -	<name>label213</name> -	<label>memory</label> -	<justify>GTK_JUSTIFY_CENTER</justify> -	<wrap>False</wrap> -	<xalign>0.5</xalign> -	<yalign>0.5</yalign> -	<xpad>0</xpad> -	<ypad>0</ypad> +	<class>GtkVSeparator</class> +	<name>vseparator8</name>        </widget>        <widget> -	<class>GtkLabel</class> -	<child_name>CList:title</child_name> -	<name>label214</name> -	<label>source</label> -	<justify>GTK_JUSTIFY_CENTER</justify> -	<wrap>False</wrap> -	<xalign>0.5</xalign> -	<yalign>0.5</yalign> -	<xpad>0</xpad> -	<ypad>0</ypad> +	<class>GtkButton</class> +	<child_name>Toolbar:button</child_name> +	<name>button14</name> +	<tooltip>Run</tooltip> +	<signal> +	  <name>clicked</name> +	  <handler>on_debug_run_activate</handler> +	  <last_modification_time>Wed, 15 Aug 2001 00:12:03 GMT</last_modification_time> +	</signal> +	<label>Run</label> +	<icon>run.xpm</icon> +      </widget> + +      <widget> +	<class>GtkButton</class> +	<child_name>Toolbar:button</child_name> +	<name>button15</name> +	<tooltip>Next</tooltip> +	<signal> +	  <name>clicked</name> +	  <handler>on_debug_next_activate</handler> +	  <last_modification_time>Wed, 15 Aug 2001 00:12:36 GMT</last_modification_time> +	</signal> +	<label>Step</label> +	<icon>next.xpm</icon> +      </widget> + +      <widget> +	<class>GtkButton</class> +	<child_name>Toolbar:button</child_name> +	<name>button16</name> +	<tooltip>Clear breakpoints</tooltip> +	<signal> +	  <name>clicked</name> +	  <handler>on_clear_breakpoints_activate</handler> +	  <last_modification_time>Thu, 16 Aug 2001 12:58:32 GMT</last_modification_time> +	</signal> +	<label>Clear</label> +	<icon>clear.xpm</icon> +      </widget> + +      <widget> +	<class>GtkButton</class> +	<child_name>Toolbar:button</child_name> +	<name>button18</name> +	<tooltip>Symbol table</tooltip> +	<signal> +	  <name>clicked</name> +	  <handler>on_symbols_activate</handler> +	  <last_modification_time>Thu, 16 Aug 2001 13:02:32 GMT</last_modification_time> +	</signal> +	<label>Symbols</label> +	<icon>symbols.xpm</icon> +      </widget> + +      <widget> +	<class>GtkButton</class> +	<child_name>Toolbar:button</child_name> +	<name>button22</name> +	<tooltip>Source code font</tooltip> +	<signal> +	  <name>clicked</name> +	  <handler>on_mixal_font_activate</handler> +	  <last_modification_time>Thu, 16 Aug 2001 13:32:22 GMT</last_modification_time> +	</signal> +	<label>Font</label> +	<icon>font.xpm</icon> +	<child> +	  <new_group>True</new_group> +	</child> +      </widget> + +      <widget> +	<class>GtkButton</class> +	<child_name>Toolbar:button</child_name> +	<name>button23</name> +	<tooltip>Colors</tooltip> +	<signal> +	  <name>clicked</name> +	  <handler>on_colors_activate</handler> +	  <last_modification_time>Thu, 16 Aug 2001 13:36:24 GMT</last_modification_time> +	</signal> +	<label>Colors</label> +	<icon>colors.xpm</icon>        </widget>      </widget> + +    <widget> +      <class>GtkScrolledWindow</class> +      <name>scrolledwindow27</name> +      <hscrollbar_policy>GTK_POLICY_ALWAYS</hscrollbar_policy> +      <vscrollbar_policy>GTK_POLICY_AUTOMATIC</vscrollbar_policy> +      <hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy> +      <vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy> +      <child> +	<padding>0</padding> +	<expand>True</expand> +	<fill>True</fill> +      </child> + +      <widget> +	<class>GtkCList</class> +	<name>mixal_clist</name> +	<tooltip>Click to toggle breakpoint</tooltip> +	<can_focus>True</can_focus> +	<events>GDK_POINTER_MOTION_MASK</events> +	<signal> +	  <name>select_row</name> +	  <handler>on_mixal_select_row</handler> +	  <after>True</after> +	  <last_modification_time>Sun, 11 Mar 2001 01:15:28 GMT</last_modification_time> +	</signal> +	<signal> +	  <name>motion_notify_event</name> +	  <handler>on_mixal_motion_notify_event</handler> +	  <last_modification_time>Sun, 17 Jun 2001 19:44:48 GMT</last_modification_time> +	</signal> +	<signal> +	  <name>leave_notify_event</name> +	  <handler>on_mixal_leave_notify_event</handler> +	  <last_modification_time>Sat, 23 Jun 2001 22:26:17 GMT</last_modification_time> +	</signal> +	<columns>2</columns> +	<column_widths>152,80</column_widths> +	<selection_mode>GTK_SELECTION_SINGLE</selection_mode> +	<show_titles>True</show_titles> +	<shadow_type>GTK_SHADOW_IN</shadow_type> + +	<widget> +	  <class>GtkLabel</class> +	  <child_name>CList:title</child_name> +	  <name>label213</name> +	  <label>memory</label> +	  <justify>GTK_JUSTIFY_CENTER</justify> +	  <wrap>False</wrap> +	  <xalign>0.5</xalign> +	  <yalign>0.5</yalign> +	  <xpad>0</xpad> +	  <ypad>0</ypad> +	</widget> + +	<widget> +	  <class>GtkLabel</class> +	  <child_name>CList:title</child_name> +	  <name>label214</name> +	  <label>source</label> +	  <justify>GTK_JUSTIFY_CENTER</justify> +	  <wrap>False</wrap> +	  <xalign>0.5</xalign> +	  <yalign>0.5</yalign> +	  <xpad>0</xpad> +	  <ypad>0</ypad> +	</widget> +      </widget> +    </widget> + +    <widget> +      <class>GtkStatusbar</class> +      <name>statusbar1</name> +      <child> +	<padding>0</padding> +	<expand>False</expand> +	<fill>False</fill> +      </child> +    </widget>    </widget>  </widget> @@ -4315,6 +4790,65 @@      <spacing>0</spacing>      <widget> +      <class>GtkToolbar</class> +      <name>devices_toolbar</name> +      <border_width>2</border_width> +      <orientation>GTK_ORIENTATION_HORIZONTAL</orientation> +      <type>GTK_TOOLBAR_ICONS</type> +      <space_size>5</space_size> +      <space_style>GTK_TOOLBAR_SPACE_EMPTY</space_style> +      <relief>GTK_RELIEF_NORMAL</relief> +      <tooltips>True</tooltips> +      <child> +	<padding>0</padding> +	<expand>False</expand> +	<fill>False</fill> +      </child> + +      <widget> +	<class>GtkButton</class> +	<child_name>Toolbar:button</child_name> +	<name>devdir_button</name> +	<tooltip>Device directory</tooltip> +	<signal> +	  <name>clicked</name> +	  <handler>on_devdir_activate</handler> +	  <last_modification_time>Thu, 16 Aug 2001 13:14:09 GMT</last_modification_time> +	</signal> +	<label>Device dir</label> +	<icon>open.xpm</icon> +      </widget> + +      <widget> +	<class>GtkButton</class> +	<child_name>Toolbar:button</child_name> +	<name>output_button</name> +	<tooltip>Output format</tooltip> +	<signal> +	  <name>clicked</name> +	  <handler>on_devform_activate</handler> +	  <last_modification_time>Thu, 16 Aug 2001 14:46:32 GMT</last_modification_time> +	</signal> +	<label>Output</label> +	<icon>output.xpm</icon> +      </widget> + +      <widget> +	<class>GtkButton</class> +	<child_name>Toolbar:button</child_name> +	<name>button21</name> +	<tooltip>Output font</tooltip> +	<signal> +	  <name>clicked</name> +	  <handler>on_devices_font_activate</handler> +	  <last_modification_time>Thu, 16 Aug 2001 13:31:44 GMT</last_modification_time> +	</signal> +	<label>Font</label> +	<icon>font.xpm</icon> +      </widget> +    </widget> + +    <widget>        <class>GtkNotebook</class>        <name>devices_notebook</name>        <can_focus>True</can_focus> diff --git a/mixgtk/mixgtk_config.c b/mixgtk/mixgtk_config.c index b444caf..052dea5 100644 --- a/mixgtk/mixgtk_config.c +++ b/mixgtk/mixgtk_config.c @@ -33,6 +33,9 @@ static const gchar *MIXGTK_CONFIG_FILE_ = "gmixvm.config";  static const gchar *SPLIT_KEY = "Split";  static const gchar *SPLIT_YES = "Yes";  static const gchar *SPLIT_NO = "No"; +static const gchar *SHOW_TB_KEY = "Toolbars"; +static const gchar *TB_YES = "Yes"; +static const gchar *TB_NO = "No";  static mix_config_t *config_ = NULL; @@ -103,3 +106,16 @@ mixgtk_config_set_split (gboolean split)  {    mixgtk_config_update (SPLIT_KEY, split? SPLIT_YES : SPLIT_NO);  } + +gboolean +mixgtk_config_show_toolbars (void)  +{ +  const gchar *show = mixgtk_config_get (SHOW_TB_KEY); +  return (!show || !strcmp (show, TB_YES)); +} + +void +mixgtk_config_set_show_toolbars (gboolean show) +{ +  mixgtk_config_update (SHOW_TB_KEY, show? TB_YES : TB_NO); +} diff --git a/mixgtk/mixgtk_config.h b/mixgtk/mixgtk_config.h index 038c659..7b58cda 100644 --- a/mixgtk/mixgtk_config.h +++ b/mixgtk/mixgtk_config.h @@ -62,6 +62,11 @@ mixgtk_config_is_split (void);  extern void  mixgtk_config_set_split (gboolean split); +extern gboolean +mixgtk_config_show_toolbars (void); + +extern void +mixgtk_config_set_show_toolbars (gboolean show);  #endif /* MIXGTK_CONFIG_H */ diff --git a/mixgtk/mixgtk_wm.c b/mixgtk/mixgtk_wm.c index 7e28baf..9f227c5 100644 --- a/mixgtk/mixgtk_wm.c +++ b/mixgtk/mixgtk_wm.c @@ -33,19 +33,22 @@ typedef struct window_info_t_    const gchar *menu_name;    const gchar *config_key;    gboolean visible; +  const gchar *toolbar_name;  } window_info_t_;  static window_info_t_ infos_[] = { -  {MIXGTK_MIXVM_DIALOG, NULL, NULL, "mix_view", "MIX.view"}, -  {MIXGTK_MIXAL_DIALOG, NULL, NULL, "mixal_view", "MIXAL.view"}, -  {MIXGTK_DEVICES_DIALOG, NULL, NULL, "devices_view", "Devices.view"} +  {MIXGTK_MIXVM_DIALOG, NULL, NULL, "mix_view", "MIX.view", FALSE, NULL}, +  {MIXGTK_MIXAL_DIALOG, NULL, NULL, "mixal_view", "MIXAL.view", FALSE, +   "mixal_toolbar"}, +  {MIXGTK_DEVICES_DIALOG, NULL, NULL, "devices_view", "Devices.view",  +   FALSE, "devices_toolbar"}  };  static size_t INF_NO_ = sizeof (infos_) / sizeof (infos_[0]);  static gboolean split_ = FALSE; -static const gchar *SPLIT_MENU_NAME_ = "split_windows"; -static GtkCheckMenuItem *split_menu_ = NULL; +static const gchar *TB_MENU_NAME_ = "show_toolbars"; +static GtkCheckMenuItem *tb_menu_ = NULL;  static const gchar *VIEW_YES_ = "Yes";  static const gchar *VIEW_NO_ = "No"; @@ -56,18 +59,15 @@ static gboolean restart_ = FALSE;  gboolean  mixgtk_wm_init (void)  { -  static gboolean restart = FALSE;    split_ = mixgtk_config_is_split ();    if (split_)      {        gint i; -      split_menu_ = GTK_CHECK_MENU_ITEM -	(mixgtk_widget_factory_get_child_by_name (MIXGTK_MAIN, -						  SPLIT_MENU_NAME_)); -      g_return_val_if_fail (split_menu_, FALSE); -      gtk_check_menu_item_set_active (split_menu_, TRUE);        for (i = 0; i < INF_NO_; ++i)  	{ +	  const gchar *view = mixgtk_config_get (infos_[i].config_key); +	  infos_[i].visible = !view || !strcmp (VIEW_YES_, view); +	  if (!view) mixgtk_config_update (infos_[i].config_key, VIEW_YES_);  	  infos_[i].widget =  	    mixgtk_widget_factory_get_dialog (infos_[i].dialog);  	  g_return_val_if_fail (infos_[i].widget, FALSE); @@ -75,11 +75,6 @@ mixgtk_wm_init (void)  	    (mixgtk_widget_factory_get_child_by_name  	     (MIXGTK_MAIN, infos_[i].menu_name));  	  g_return_val_if_fail (infos_[i].menu, FALSE); -	  if (!restart) -	    { -	      const gchar *view = mixgtk_config_get (infos_[i].config_key); -	      infos_[i].visible = !view || !strcmp (VIEW_YES_, view); -	    }  	  if (infos_[i].visible) gtk_widget_show (infos_[i].widget);  	  gtk_check_menu_item_set_active (infos_[i].menu, infos_[i].visible);  	} @@ -90,8 +85,14 @@ mixgtk_wm_init (void)        for (k = 0; k < INF_NO_; ++k)  	if (infos_[k].widget) gtk_widget_destroy (infos_[k].widget);      } -     -  restart = TRUE; + +  tb_menu_ = GTK_CHECK_MENU_ITEM +    (mixgtk_widget_factory_get_child_by_name (MIXGTK_MAIN, +					      TB_MENU_NAME_)); +  g_return_val_if_fail (tb_menu_, FALSE); +  gtk_check_menu_item_set_active (tb_menu_, mixgtk_config_show_toolbars ()); +  mixgtk_wm_show_toolbars (mixgtk_config_show_toolbars ()); +    return TRUE;  } @@ -121,6 +122,36 @@ mixgtk_wm_hide_window (mixgtk_window_id_t w)      }  } +void +mixgtk_wm_show_toolbars (gboolean show) +{ +  static const gchar *MAIN_TB_NAME = "main_toolbar"; +  GtkWidget *toolbar = +    mixgtk_widget_factory_get_child_by_name (MIXGTK_MAIN, MAIN_TB_NAME); +  if (toolbar != NULL) +    { +      if (show) gtk_widget_show (toolbar); +      else gtk_widget_hide (toolbar); +    } +     +  if (split_) +    { +      int k; +      for (k = 0; k < INF_NO_; ++k) +	{ +	  if (infos_[k].toolbar_name != NULL) +	    { +	      GtkWidget *tb = mixgtk_widget_factory_get_child_by_name +		(infos_[k].dialog, infos_[k].toolbar_name); +	      if (show && tb) gtk_widget_show (tb); +	      else if (tb) gtk_widget_hide (tb); +	    } +	} +    } +   +  mixgtk_config_set_show_toolbars (show); +} +  /* callbacks */  void  on_view_toggled (GtkCheckMenuItem *item) @@ -142,9 +173,17 @@ on_view_toggled (GtkCheckMenuItem *item)  }  void -on_split_windows_toggled (GtkCheckMenuItem *item) +on_one_window_activate ()  { -  mixgtk_config_set_split (item->active); +  mixgtk_config_set_split (FALSE); +  restart_ = TRUE; +  gtk_widget_destroy (mixgtk_widget_factory_get_dialog (MIXGTK_MAIN)); +} + +void +on_split_windows_activate () +{ +  mixgtk_config_set_split (TRUE);    restart_ = TRUE;    gtk_widget_destroy (mixgtk_widget_factory_get_dialog (MIXGTK_MAIN));  } @@ -170,3 +209,9 @@ on_main_window_destroy (GtkWidget *w, gpointer data)    else gtk_main_quit ();  } +void +on_show_toolbars_toggled (GtkCheckMenuItem *item) +{ +  if (!restart_ && item->active != mixgtk_config_show_toolbars ()) +    mixgtk_wm_show_toolbars (item->active); +} diff --git a/mixgtk/mixgtk_wm.h b/mixgtk/mixgtk_wm.h index 66ef9ce..6a51b9f 100644 --- a/mixgtk/mixgtk_wm.h +++ b/mixgtk/mixgtk_wm.h @@ -42,5 +42,8 @@ mixgtk_wm_show_window (mixgtk_window_id_t w);  extern void  mixgtk_wm_hide_window (mixgtk_window_id_t w); +extern void +mixgtk_wm_show_toolbars (gboolean show); +  #endif /* MIXGTK_WM_H */ diff --git a/mixgtk/next.xpm b/mixgtk/next.xpm new file mode 100644 index 0000000..85faed3 --- /dev/null +++ b/mixgtk/next.xpm @@ -0,0 +1,30 @@ +/* XPM */ +static char * next_xpm[] = { +"22 22 5 1", +" 	c None", +".	c #000000", +"+	c #EDDDF0", +"@	c #848080", +"#	c #FBF2FB", +"                      ", +"                      ", +"            ........  ", +"   .        ........  ", +"  .+.    .            ", +" .@@#.  ..  ..........", +".@@@@#..+.            ", +" .@@@@@+@.  ....      ", +"  .@@@@@@.            ", +"   .@@@@@.  .......   ", +"   .+@@@@.            ", +"  .+@@@@@.            ", +" .........  ..........", +"            ..........", +"                      ", +"            ....      ", +"                      ", +"            ......    ", +"                      ", +"            ........  ", +"                      ", +"                      "}; diff --git a/mixgtk/onew.xpm b/mixgtk/onew.xpm new file mode 100644 index 0000000..d8de746 --- /dev/null +++ b/mixgtk/onew.xpm @@ -0,0 +1,124 @@ +/* XPM */ +static char * onew_xpm[] = { +"22 22 99 2", +"  	c None", +". 	c #000000", +"+ 	c #DCDCDC", +"@ 	c #D8D8D8", +"# 	c #D4D4D4", +"$ 	c #D0D0D0", +"% 	c #CDCDCD", +"& 	c #C9C9C9", +"* 	c #C5C5C5", +"= 	c #C1C1C1", +"- 	c #BEBEBE", +"; 	c #BABABA", +"> 	c #B6B6B6", +", 	c #B2B2B2", +"' 	c #AFAFAF", +") 	c #ABABAB", +"! 	c #A7A7A7", +"~ 	c #A3A3A3", +"{ 	c #9F9F9F", +"] 	c #585858", +"^ 	c #CECECE", +"/ 	c #FFFFFF", +"( 	c #FFFFFE", +"_ 	c #FFFFFB", +": 	c #FFFFF9", +"< 	c #FFFFF6", +"[ 	c #FFFFF3", +"} 	c #FFFFF0", +"| 	c #CECEBF", +"1 	c #800000", +"2 	c #FFFFF8", +"3 	c #FFFFF5", +"4 	c #FFFFF2", +"5 	c #FFFFED", +"6 	c #CECEBD", +"7 	c #FFFFFD", +"8 	c #FFFFFA", +"9 	c #FFFFF7", +"0 	c #CECEBA", +"a 	c #FFFFFC", +"b 	c #FFFFF4", +"c 	c #FFFFE6", +"d 	c #CECEB7", +"e 	c #FFFFE5", +"f 	c #FFFFE2", +"g 	c #CECEB5", +"h 	c #FFFFDF", +"i 	c #CECEB2", +"j 	c #FFFFEF", +"k 	c #FFFFEC", +"l 	c #FFFFEA", +"m 	c #FFFFE7", +"n 	c #FFFFE4", +"o 	c #FFFFE1", +"p 	c #FFFFDE", +"q 	c #FFFFDC", +"r 	c #CECEAF", +"s 	c #FFFFF1", +"t 	c #FFFFE9", +"u 	c #FFFFE3", +"v 	c #FFFFDB", +"w 	c #FFFFD8", +"x 	c #CECEAC", +"y 	c #FFFFEE", +"z 	c #FFFFEB", +"A 	c #FFFFE8", +"B 	c #FFFFD5", +"C 	c #CECEAA", +"D 	c #FFFFD4", +"E 	c #FFFFD1", +"F 	c #CECEA6", +"G 	c #FFFFCE", +"H 	c #CECEA4", +"I 	c #CECECC", +"J 	c #FFFFD3", +"K 	c #CECEA2", +"L 	c #CECECA", +"M 	c #FFFFE0", +"N 	c #FFFFDD", +"O 	c #FFFFD2", +"P 	c #FFFFCF", +"Q 	c #FFFFCD", +"R 	c #FFFFC7", +"S 	c #CECE9E", +"T 	c #CECEC7", +"U 	c #CECEC4", +"V 	c #CECEC2", +"W 	c #CECEC0", +"X 	c #CECEBE", +"Y 	c #CECEBB", +"Z 	c #CECEB9", +"` 	c #CECEB3", +" .	c #CECEB0", +"..	c #CECEAE", +"+.	c #CECEAB", +"@.	c #CECEA7", +"#.	c #CECEA5", +"$.	c #CECEA0", +"%.	c #CECE9C", +"                                            ", +"                                            ", +". . . . . . . . . . . . . . . . . . . . . . ", +". + + + @ # $ % & * = - ; > , ' ) ! ~ { { . ", +". + + + @ # $ % & * = - ; > , ' ) ! ~ { { . ", +". ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] . ", +". ^ / / / / / / / / / / / / ( _ : < [ } | . ", +". ^ / 1 / / / / / / / / / ( _ 2 3 4 1 5 6 . ", +". ^ 1 1 1 / 1 / / / / / 7 8 9 1 4 1 1 1 0 . ", +". ^ / 1 1 1 1 / / / / a 8 9 b 1 1 1 1 c d . ", +". ^ / / 1 1 1 / / / a : < [ } 1 1 1 e f g . ", +". ^ / 1 1 1 1 / ( _ 2 3 [ } 5 1 1 1 1 h i . ", +". ^ / / / / / 7 8 2 3 4 j k l m n o p q r . ", +". ^ / / / / 7 8 9 b s j k t c u o p v w x . ", +". ^ / 1 1 1 1 < b s y z A c u 1 1 1 1 B C . ", +". ^ / ( 1 1 1 [ } 5 z A e f h 1 1 1 D E F . ", +". ^ ( 1 1 1 1 } 5 l m n o h q 1 1 1 1 G H . ", +". I 1 1 1 4 1 k t c n o p v w 1 J 1 1 1 K . ", +". L 9 1 s y z t c u M N v w B O P Q 1 R S . ", +". T U V W X Y Z d g `  ...+.C @.#.K $.S %.. ", +". . . . . . . . . . . . . . . . . . . . . . ", +"                                            "}; diff --git a/mixgtk/open.xpm b/mixgtk/open.xpm new file mode 100644 index 0000000..ae2fc3b --- /dev/null +++ b/mixgtk/open.xpm @@ -0,0 +1,32 @@ +/* XPM */ +static char * open_xpm[] = { +"24 24 5 1", +" 	c None", +".	c #000000", +"+	c #99907B", +"@	c #FFFEF7", +"#	c #FFFFFF", +"                        ", +"                        ", +"                        ", +"                        ", +"                        ", +"              ..        ", +"           ...++.       ", +"    ..  ...++++@@#...   ", +"   .++..++++@@@@..++.   ", +"   .+++++@@@@@..++++.   ", +"    .++@@@@@..++++++.   ", +"    .++@@@..++++++++.   ", +"     .+@@.++++++++++.   ", +"     .++@.++++++++++.   ", +"      .+@.++++++++++.   ", +"      .++.++++++++..    ", +"       .+.++++++..      ", +"       .+.+++++.        ", +"        ..+++..         ", +"        ..+..           ", +"         ..             ", +"                        ", +"                        ", +"                        "}; diff --git a/mixgtk/output.xpm b/mixgtk/output.xpm new file mode 100644 index 0000000..597337f --- /dev/null +++ b/mixgtk/output.xpm @@ -0,0 +1,38 @@ +/* XPM */ +static char *magick[] = { +/* columns rows colors chars-per-pixel */ +"24 24 8 1", +"  c #01260126010f", +". c #56004ef93434", +"X c #5c9c5c9c57c7", +"o c #8e8e7d7d4545", +"O c #a72aa72a95e6", +"+ c #d015d015b9c5", +"@ c #e90de90dd2e3", +"# c None", +/* pixels */ +"########################", +"################  ######", +"###############  o #####", +"########### ##  o ######", +"#########  O   o #######", +"#######  O@@  o ########", +"#####  O+++  o #########", +"###  O++++  o  #########", +"## XX++++ .  @.#########", +"## @.O+++  @@@@ ########", +"## @@.++++@@@@@O #######", +"## @@.O+O.  .O@@ #######", +"## @XO+O.O++O.+@@ ######", +"##  O++.O@@+OX.@@O #####", +"## X+++ +#+OOO @@@+ ####", +"## O++@ +@OOOO @@@O ####", +"### +@@.OOOOOX.@@  #####", +"### +@@O.OOOX  + #######", +"####X@@@O.  .X  ########", +"#### @@@@@@@+    #######", +"##### @@@@@O ##   ######", +"##### O@@+. ####   #####", +"###### @O #######  #####", +"#######  ###############" +}; diff --git a/mixgtk/run.xpm b/mixgtk/run.xpm new file mode 100644 index 0000000..9e0b147 --- /dev/null +++ b/mixgtk/run.xpm @@ -0,0 +1,36 @@ +/* XPM */ +static char * right_arrow_xpm[] = { +"24 24 9 1", +" 	c None", +".	c #020202", +"+	c #1A1A1A", +"@	c #779D6D", +"#	c #88AE80", +"$	c #97B78B", +"%	c #9EBA92", +"&	c #E9EFE8", +"*	c #3C5936", +"                        ", +"                        ", +"                        ", +"                        ", +"                        ", +"      ..                ", +"      .&..              ", +"      .&&&..            ", +"      .&&&&&..          ", +"      .&&&&&&&..        ", +"      .&&&&&&&&&+.      ", +"      +&&&&&&&&&&%..    ", +"      .%#######@@*..    ", +"      .%#####@@*..      ", +"      .%###@@*..        ", +"      .$#@@*..          ", +"      .#@*..            ", +"      .*..              ", +"      ..                ", +"                        ", +"                        ", +"                        ", +"                        ", +"                        "}; diff --git a/mixgtk/splitw.xpm b/mixgtk/splitw.xpm new file mode 100644 index 0000000..c19e83c --- /dev/null +++ b/mixgtk/splitw.xpm @@ -0,0 +1,119 @@ +/* XPM */ +static char * splitw_xpm[] = { +"22 22 94 2", +"  	c None", +". 	c #000000", +"+ 	c #DCDCDC", +"@ 	c #D8D8D8", +"# 	c #D4D4D4", +"$ 	c #D0D0D0", +"% 	c #CDCDCD", +"& 	c #C9C9C9", +"* 	c #C5C5C5", +"= 	c #C1C1C1", +"- 	c #BEBEBE", +"; 	c #BABABA", +"> 	c #B6B6B6", +", 	c #B2B2B2", +"' 	c #AFAFAF", +") 	c #ABABAB", +"! 	c #A7A7A7", +"~ 	c #A3A3A3", +"{ 	c #9F9F9F", +"] 	c #585858", +"^ 	c #CECECE", +"/ 	c #FFFFFF", +"( 	c #FFFFFE", +"_ 	c #FFFFFB", +": 	c #FFFFF9", +"< 	c #FFFFF6", +"[ 	c #FFFFF3", +"} 	c #FFFFF0", +"| 	c #CECEBF", +"1 	c #800000", +"2 	c #FFFFF8", +"3 	c #CECEBD", +"4 	c #FFFFFD", +"5 	c #FFFFFA", +"6 	c #FFFFF7", +"7 	c #FFFFF2", +"8 	c #CECEBA", +"9 	c #FFFFFC", +"0 	c #FFFFF4", +"a 	c #CECEB7", +"b 	c #FFFFE5", +"c 	c #CECEB5", +"d 	c #FFFFF5", +"e 	c #FFFFED", +"f 	c #FFFFE1", +"g 	c #FFFFDE", +"h 	c #FFFFDF", +"i 	c #CECEB2", +"j 	c #FFFFEF", +"k 	c #FFFFEC", +"l 	c #FFFFEA", +"m 	c #FFFFE7", +"n 	c #FFFFE4", +"o 	c #FFFFDC", +"p 	c #CECEAF", +"q 	c #FFFFF1", +"r 	c #FFFFE9", +"s 	c #FFFFE6", +"t 	c #FFFFE3", +"u 	c #FFFFDB", +"v 	c #FFFFD8", +"w 	c #CECEAC", +"x 	c #FFFFEE", +"y 	c #FFFFEB", +"z 	c #FFFFE8", +"A 	c #FFFFD5", +"B 	c #CECEAA", +"C 	c #FFFFE2", +"D 	c #FFFFD4", +"E 	c #CECEA6", +"F 	c #CECEA4", +"G 	c #CECECC", +"H 	c #FFFFD3", +"I 	c #CECEA2", +"J 	c #CECECA", +"K 	c #FFFFE0", +"L 	c #FFFFDD", +"M 	c #FFFFD2", +"N 	c #CECE9E", +"O 	c #CECEC7", +"P 	c #CECEC4", +"Q 	c #CECEC2", +"R 	c #CECEC0", +"S 	c #CECEBE", +"T 	c #CECEBB", +"U 	c #CECEB9", +"V 	c #CECEB3", +"W 	c #CECEB0", +"X 	c #CECEAE", +"Y 	c #CECEAB", +"Z 	c #CECEA7", +"` 	c #CECEA5", +" .	c #CECEA0", +"..	c #CECE9C", +"                                            ", +"                                            ", +". . . . . . . . . . . . . . . . . . . . . . ", +". + + + @ # $ % & * = - ; > , ' ) ! ~ { { . ", +". + + + @ # $ % & * = - ; > , ' ) ! ~ { { . ", +". ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] . ", +". ^ / / / / / / / / / / / / ( _ : < [ } | . ", +". ^ 1 1 1 1 / / / / / / / ( _ 2 1 1 1 1 3 . ", +". ^ 1 1 1 / / / / / / / 4 5 6 6 7 1 1 1 8 . ", +". ^ 1 1 1 1 / / / / / 9 5 6 0 0 1 1 1 1 a . ", +". ^ 1 / 1 1 1 / / / 9 : < [ } 1 1 1 b 1 c . ", +". ^ / / / 1 / / ( _ 2 d [ } e e 1 f g h i . ", +". ^ / / / / / 4 5 2 d 7 j k l m n f g o p . ", +". ^ / / / / 4 5 6 0 q j k r s t f g u v w . ", +". ^ / / / 1 } < 0 q x y z s t t 1 g u A B . ", +". ^ 1 ( 1 1 1 [ } e y z b C h 1 1 1 D 1 E . ", +". ^ 1 1 1 1 } } e l m n f h o o 1 1 1 1 F . ", +". G 1 1 1 7 } k r s n f g u v v H 1 1 1 I . ", +". J 1 1 1 1 y r s t K L u v A M 1 1 1 1 N . ", +". O P Q R S T U a c V W X Y B Z ` I  .N ... ", +". . . . . . . . . . . . . . . . . . . . . . ", +"                                            "}; diff --git a/mixgtk/symbols.xpm b/mixgtk/symbols.xpm new file mode 100644 index 0000000..154e428 --- /dev/null +++ b/mixgtk/symbols.xpm @@ -0,0 +1,39 @@ +/* XPM */ +static char *magick[] = { +/* columns rows colors chars-per-pixel */ +"24 24 9 1", +"  c Gray0", +". c #4646424233b4", +"X c #6f4d67895151", +"o c #911b871c69df", +"O c #b3d8a9b58836", +"+ c #c280b9779c39", +"@ c #cd0cc646ae2e", +"# c #e0e0e4e4e0e0", +"$ c None", +/* pixels */ +"$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$$$$$$$$$$$$$$$$$$$$$", +"$$$$                  $$", +"$$$$ ################ $$", +"$$$$ #####  O######## $$", +"$$$$ #### oX O####### $$", +"$$$$      @o          $$", +"$$$$ #### @o O####### $$", +"$$$$ #### @o   O##### $$", +"$$$$ #### @o X.   O## $$", +"$$$$      +o OX oX    $$", +"$$$$ ## X +o Oo Oo oX $$", +"$$$$ ## o +OoOOoOOOOo $$", +"$$$$ ## O +++OOOOOOOX $$", +"$$$$    O O++O+OOOOOX $$", +"$$$$ ## ooO+++O+OOOOX $$", +"$$$$ ### oO++++OOOOo. $$", +"$$$$ ### XOO++O+OOOo $$$", +"$$$$      o++++OOOoX $$$", +"$$$$$$$$$ XOO+++OOoX $$$", +"$$$$$$$$$$ oO++OOOX $$$$", +"$$$$$$$$$$$ OO++OOX $$$$", +"$$$$$$$$$$$$$$$$$$$$$$$$" +}; | 
