diff options
-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 $$$$", +"$$$$$$$$$$$$$$$$$$$$$$$$" +}; |