From: <onk...@us...> - 2008-09-17 21:43:50
|
Revision: 125 http://gnusim8085.svn.sourceforge.net/gnusim8085/?rev=125&view=rev Author: onkarshinde Date: 2008-09-17 21:43:58 +0000 (Wed, 17 Sep 2008) Log Message: ----------- - Almost ready for 1.3.5. Please test and report by weekend Modified Paths: -------------- trunk/ChangeLog trunk/NEWS trunk/WINDOWS-PORT.txt trunk/data/8085asm.lang trunk/installer.nsi.in trunk/src/callbacks.c trunk/src/file-op.c trunk/src/gui-editor.c trunk/src/gui-view.c trunk/src/gui-view.h trunk/src/interface.c Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2008-09-08 19:00:06 UTC (rev 124) +++ trunk/ChangeLog 2008-09-17 21:43:58 UTC (rev 125) @@ -1,3 +1,22 @@ +2008-09-18 Onkar Shinde <onk...@gm...> + * src/file-op.c: Add file filter for extension .asm + * src/gui-editor.c: Additional search path of current directory for + style file. + * src/gui-view.[c,h], src/callbacks.c: Show updated register and flag + with bold font, except when doing 'Reset All'. + Known issue - last updated register and flag stays bold even after + program has finished executing. + * src/interface.c: Set scrollbar policy to automatic. Scrollbar is + only shown when needed. Update icon for hex -> decimal conversion + button. + * data/8085asm.lang: Update the language definition as per + specification version 2.0. + * installer.nsi.in: Change installer title, start menu group and + shortcut, default installation directory. Update file list to + workaround problem with gtksourceview win32 distribution. + * WINDOWS-PORT.txt: Minor updates. + * NEWS: Update for yet unreleased 1.3.5 version. + 2008-09-09 Onkar Shinde <onk...@gm...> * src/gui-editor.[c,h]: Use style scheme manager to set style search path and default style. Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2008-09-08 19:00:06 UTC (rev 124) +++ trunk/NEWS 2008-09-17 21:43:58 UTC (rev 125) @@ -1,3 +1,12 @@ +GNUSim8085 1.3.5 (not yet released) + +New: Port to gtksourceview 2. + Syntax highlighting works in non standard installation also. +New: Windows port with an installer. + GTK+ runtime needs to be installed separately. +Fix: Tooltips for the keypad buttons. Needs GTK+ >= 2.12. +Fix: Add file filter for .asm files. + GNUSim8085 1.3.2 (17 Oct 2007) Fix: Configure script exits silently (after checking for GNOME) Modified: trunk/WINDOWS-PORT.txt =================================================================== --- trunk/WINDOWS-PORT.txt 2008-09-08 19:00:06 UTC (rev 124) +++ trunk/WINDOWS-PORT.txt 2008-09-17 21:43:58 UTC (rev 125) @@ -29,7 +29,7 @@ How to install: 1. Install GTK+ runtime for windows available at - http://www.gtk.org/download-windows.html + http://sourceforge.net/projects/gtk-win/ 2. Using installer a. Just run the installer. :-) @@ -38,20 +38,18 @@ a. Copy gnusim8085.exe and 8085asm.lang files to windows machine. b. Copy libgtksourceview-2.0-0.dll and libxml2.dll to same directory as gnusim8085.exe. - c. Copy language.dtd file found in gtksourceview installation to same - directory as gnusim8085.exe. + c. Copy language2.rng, styles.rng and classic.xml file found in gtksourceview + installation to same directory as gnusim8085.exe. Status: gnusim8085.exe runs fine on Windows machine. :-) - Screenshot - http://tinyurl.com/32y7cz (Needs update) + Screenshot - + http://picasaweb.google.co.in/onkarshinde/BangaloreTrip#5240247021199955618 TODO: 0. [Nearfar] interface.c: Write replacement for gnome_url_show_on_screen(); - - 1. [Nearfar] support.c: Write replacement for gnome_program_locate_file(); to - make the ICON work. Modified: trunk/data/8085asm.lang =================================================================== --- trunk/data/8085asm.lang 2008-09-08 19:00:06 UTC (rev 124) +++ trunk/data/8085asm.lang 2008-09-17 21:43:58 UTC (rev 125) @@ -1,84 +1,78 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE language SYSTEM "language.dtd"> -<language id="8085_asm" _name="8085 Assembly" version="1.0" _section="Sources" mimetypes="text/plain"> - <escape-char>\</escape-char> - - <line-comment _name = "Line Comment" style= "Comment"> - <start-regex>;</start-regex> - </line-comment> - - <block-comment _name = "'#if 0' Comment" style = "Comment"> - <start-regex>^[ \t]*#[ \t]*if[ \t]*0</start-regex> - <end-regex>[ \t]*#[ \t]*(endif|else)</end-regex> - </block-comment> - - <string _name = "String" style = "String" end-at-line-end = "TRUE"> - <start-regex>"</start-regex> - <end-regex>"</end-regex> - </string> - - <syntax-item _name = "Include/Pragma" style = "Preprocessor"> - <start-regex>^#[ \t]*(include|pragma)</start-regex> - <end-regex>\n</end-regex> - </syntax-item> - <keyword-list _name = "Keywords" style = "Keyword" case-sensitive="FALSE"> - <keyword>aci</keyword> - <keyword>ad(c|d|i)</keyword> - <keyword>an(a|i)</keyword> - <keyword>call</keyword> - <keyword>c(c|m|p|z)</keyword> - <keyword>cm(a|c|p)</keyword> - <keyword>cn(c|z)</keyword> - <keyword>cp(e|i|o)</keyword> - <keyword>da(a|d)</keyword> - <keyword>dc(r|x)</keyword> - <keyword>d(b|s)</keyword> - <keyword>equ</keyword> - <keyword>(d|e)i</keyword> - <keyword>hlt</keyword> - <keyword>i(n|nr|nx)</keyword> - <keyword>j(c|m|p|z|mp)</keyword> - <keyword>jn(c|z)</keyword> - <keyword>jp(e|o)</keyword> - <keyword>ld(a|ax)</keyword> - <keyword>(l|s)hld</keyword> - <keyword>lxi</keyword> - <keyword>m(ov|vi)</keyword> - <keyword>nop</keyword> - <keyword>o(ra|ri|ut)</keyword> - <keyword>(pc|xt)hl</keyword> - <keyword>push</keyword> - <keyword>pop</keyword> - <keyword>ra(l|r)</keyword> - <keyword>r(c|m|p|z)</keyword> - <keyword>ret</keyword> - <keyword>(r|s)im</keyword> - <keyword>rlc</keyword> - <keyword>rn(c|z)</keyword> - <keyword>rp(e|o)</keyword> - <keyword>rrc</keyword> - <keyword>rst</keyword> - <keyword>sb(b|i)</keyword> - <keyword>sphl</keyword> - <keyword>st(a|ax)</keyword> - <keyword>stc</keyword> - <keyword>su(b|i)</keyword> - <keyword>xchg</keyword> - <keyword>xr(a|i)</keyword> - </keyword-list> - <keyword-list _name = "Registers" style = "Data Type" - match-empty-string-at-beginning = "TRUE" - match-empty-string-at-end = "TRUE" - case-sensitive="FALSE"> - <keyword>(a|b|c|d|d|e|h|l|m|psw)</keyword> - </keyword-list> - - <pattern-item _name = "Decimal" style = "Decimal"> - <regex>\b([1-9][0-9]*|0)([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b</regex> - </pattern-item> - - <pattern-item _name = "Hex Number" style = "Base-N Integer"> - <regex>\b[0-9a-fA-F]+([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?(h|H)\b</regex> - </pattern-item> - +<language id="8085_asm" _name="8085 Assembly" version="2.0" _section="Sources"> + <styles> + <style id="comment" _name="Comment" map-to="def:comment"/> + <style id="keyword" _name="Keyword" map-to="def:keyword"/> + <style id="register" _name="Register" map-to="def:type"/> + <style id="decimal" _name="Decimal" map-to="def:decimal"/> + <style id="hex" _name="Hex" map-to="def:base-n-integer"/> + <style id="label" _name="Label" map-to="def:preprocessor"/> + </styles> + <definitions> + <context id="8085_asm"> + <include> + <context id="comment" style-ref="comment"> + <start>;</start> + <end>$</end> + </context> + <context id="keywords" style-ref="keyword"> + <keyword>aci</keyword> + <keyword>ad(c|d|i)</keyword> + <keyword>an(a|i)</keyword> + <keyword>call</keyword> + <keyword>c(c|m|p|z)</keyword> + <keyword>cm(a|c|p)</keyword> + <keyword>cn(c|z)</keyword> + <keyword>cp(e|i|o)</keyword> + <keyword>da(a|d)</keyword> + <keyword>dc(r|x)</keyword> + <keyword>d(b|s)</keyword> + <keyword>equ</keyword> + <keyword>(d|e)i</keyword> + <keyword>hlt</keyword> + <keyword>i(n|nr|nx)</keyword> + <keyword>j(c|m|p|z|mp)</keyword> + <keyword>jn(c|z)</keyword> + <keyword>jp(e|o)</keyword> + <keyword>ld(a|ax)</keyword> + <keyword>(l|s)hld</keyword> + <keyword>lxi</keyword> + <keyword>m(ov|vi)</keyword> + <keyword>nop</keyword> + <keyword>o(ra|ri|ut)</keyword> + <keyword>(pc|xt)hl</keyword> + <keyword>push</keyword> + <keyword>pop</keyword> + <keyword>ra(l|r)</keyword> + <keyword>r(c|m|p|z)</keyword> + <keyword>ret</keyword> + <keyword>(r|s)im</keyword> + <keyword>rlc</keyword> + <keyword>rn(c|z)</keyword> + <keyword>rp(e|o)</keyword> + <keyword>rrc</keyword> + <keyword>rst</keyword> + <keyword>sb(b|i)</keyword> + <keyword>sphl</keyword> + <keyword>st(a|ax)</keyword> + <keyword>stc</keyword> + <keyword>su(b|i)</keyword> + <keyword>xchg</keyword> + <keyword>xr(a|i)</keyword> + </context> + <context id="registers" style-ref="register"> + <keyword>(a|b|c|d|d|e|h|l|m|psw)</keyword> + </context> + <context id="decimal" style-ref="decimal"> + <match>\b([1-9][0-9]*|0)([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b</match> + </context> + <context id="hex" style-ref="hex"> + <match>\b[0-9a-fA-F]+([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?(h|H)\b</match> + </context> + <context id="label" style-ref="label"> + <match>^\s*[0-9a-zA-Z]+:</match> + </context> + </include> + </context> + </definitions> </language> Modified: trunk/installer.nsi.in =================================================================== --- trunk/installer.nsi.in 2008-09-08 19:00:06 UTC (rev 124) +++ trunk/installer.nsi.in 2008-09-17 21:43:58 UTC (rev 125) @@ -5,15 +5,15 @@ # NOTE: Tested with NSIS 2.37 only # Define application name and installer file name -Name @PACKAGE@ +Name GNUSim8085 OutFile @PACKAGE@-@VERSION@-no-gtk-installer.exe Icon pixmaps/gnusim8085_icon.ico -!define startmenu "$SMPROGRAMS\@PACKAGE@" +!define startmenu "$SMPROGRAMS\GNUSim8085" !define uninstaller "uninstaller.exe" # Set default installation directory Function .onInit - StrCpy $INSTDIR "C:\@PACKAGE@" + StrCpy $INSTDIR "C:\Program Files\GNUSim8085" FunctionEnd # Show license page @@ -39,8 +39,10 @@ !system 'make' !system 'cp /usr/i586-mingw32msvc/bin/libgtksourceview-2.0-0.dll src/' !system 'cp /usr/i586-mingw32msvc/bin/libxml2.dll src/' - !system 'cp /usr/i586-mingw32msvc/share/gtksourceview-2.0/language-specs/language.dtd data/' - !system 'cp /usr/share/gtksourceview-2.0/styles/classic.xml data/' + !system 'cp /usr/i586-mingw32msvc/share/gtksourceview-2.0/language-specs/language2.rng data/' + !system 'cp /usr/share/gtksourceview-2.0/language-specs/language2.rng data/' + !system 'cp /usr/share/gtksourceview-2.0/styles/styles.rng data/' + !system 'cp /usr/i586-mingw32msvc/share/gtksourceview-2.0/styles/classic.xml data/' File AUTHORS File ChangeLog File COPYING @@ -53,12 +55,13 @@ File src/libgtksourceview-2.0-0.dll File src/libxml2.dll CreateDirectory ${startmenu} - CreateShortcut "${startmenu}\@PACKAGE@.lnk" "$INSTDIR\gnusim8085.exe" "" "$INSTDIR\pixmaps\gnusim8085_icon.ico" + CreateShortcut "${startmenu}\GNUSim8085.lnk" "$INSTDIR\gnusim8085.exe" "" "$INSTDIR\pixmaps\gnusim8085_icon.ico" WriteUninstaller $INSTDIR\${uninstaller} CreateShortcut "${startmenu}\Uninstall.lnk" "$INSTDIR\${uninstaller}" !system 'rm -f src/libgtksourceview-2.0-0.dll' !system 'rm -f src/libxml2.dll' - !system 'rm -f data/language.dtd' + !system 'rm -f data/language2.rng' + !system 'rm -f data/styles.rng' !system 'rm -f data/classic.xml' SectionEnd Modified: trunk/src/callbacks.c =================================================================== --- trunk/src/callbacks.c 2008-09-08 19:00:06 UTC (rev 124) +++ trunk/src/callbacks.c 2008-09-17 21:43:58 UTC (rev 125) @@ -123,7 +123,7 @@ on_registers1_activate (GtkMenuItem * menuitem, gpointer user_data) { eef_reset_reg (); - gui_view_update_reg_flag (); + gui_view_update_reg_flag (FALSE); } @@ -131,7 +131,7 @@ on_flags1_activate (GtkMenuItem * menuitem, gpointer user_data) { eef_reset_flag (); - gui_view_update_reg_flag (); + gui_view_update_reg_flag (FALSE); } @@ -155,7 +155,7 @@ on_reset_all1_activate (GtkMenuItem * menuitem, gpointer user_data) { eef_reset_all (); - gui_view_update_reg_flag (); + gui_view_update_reg_flag (TRUE); gui_view_update_io_mem (); } Modified: trunk/src/file-op.c =================================================================== --- trunk/src/file-op.c 2008-09-08 19:00:06 UTC (rev 124) +++ trunk/src/file-op.c 2008-09-17 21:43:58 UTC (rev 125) @@ -284,6 +284,13 @@ NULL); file_filter = gtk_file_filter_new(); + gtk_file_filter_set_name (file_filter, "ASM Files"); + gtk_file_filter_add_pattern(file_filter, "*.asm"); + gtk_file_chooser_add_filter + (GTK_FILE_CHOOSER(file_selector), + GTK_FILE_FILTER(file_filter)); + + file_filter = gtk_file_filter_new(); gtk_file_filter_set_name (file_filter, "All Files"); gtk_file_filter_add_pattern(file_filter, "*"); gtk_file_chooser_add_filter Modified: trunk/src/gui-editor.c =================================================================== --- trunk/src/gui-editor.c 2008-09-08 19:00:06 UTC (rev 124) +++ trunk/src/gui-editor.c 2008-09-17 21:43:58 UTC (rev 125) @@ -71,6 +71,7 @@ gtk_source_language_manager_set_search_path (self->lang_manager, lang_spec_search_path); gtk_source_style_scheme_manager_append_search_path (self->style_scheme_manager, "data"); + gtk_source_style_scheme_manager_append_search_path (self->style_scheme_manager, "."); GdkPixbuf *pixbuf; pixbuf = gui_editor_get_stock_icon (GTK_WIDGET(self->widget), GTK_STOCK_NO, GTK_ICON_SIZE_MENU); Modified: trunk/src/gui-view.c =================================================================== --- trunk/src/gui-view.c 2008-09-08 19:00:06 UTC (rev 124) +++ trunk/src/gui-view.c 2008-09-17 21:43:58 UTC (rev 125) @@ -206,7 +206,7 @@ gui_list_stack_reload (); } -void gui_view_update_reg_flag (void) +void gui_view_update_reg_flag (gboolean reset) { GUIViewTable *ptr; /* update reg_flag */ @@ -221,10 +221,13 @@ gui_util_gen_hex (*((eef_data_t *) (ptr->data)), str, str + 1); - - /* put in label */ - gtk_label_set_text (label, str); - + if (!g_str_equal(gtk_label_get_text(label), str) && !reset){ + /* show updated register with bold font */ + gtk_label_set_markup (label, g_markup_printf_escaped("<b>%s</b>",str)); + } else { + gtk_label_set_markup (label, g_markup_printf_escaped("%s",str)); + } + ptr++; } /* update flag */ @@ -237,12 +240,14 @@ label = GTK_LABEL(lookup_widget (app->window_main, ptr->glade)); g_assert (label); - if ( _get_flag (GPOINTER_TO_INT(ptr->data)) ) + if ( _get_flag (GPOINTER_TO_INT(ptr->data)) && !reset){ str[0] = '1'; + /* show updated flag with bold font */ + gtk_label_set_markup (label, g_markup_printf_escaped("<b>%s</b>",str)); + } else { + gtk_label_set_markup (label, g_markup_printf_escaped("%s",str)); + } - /* put in label */ - gtk_label_set_text (label, str); - ptr++; } } @@ -251,7 +256,7 @@ gui_view_update_all (void) { /* update reg, flag labels */ - gui_view_update_reg_flag(); + gui_view_update_reg_flag(FALSE); /* update io_mem text entries */ gui_view_update_io_mem (); Modified: trunk/src/gui-view.h =================================================================== --- trunk/src/gui-view.h 2008-09-08 19:00:06 UTC (rev 124) +++ trunk/src/gui-view.h 2008-09-17 21:43:58 UTC (rev 125) @@ -34,7 +34,7 @@ G_BEGIN_DECLS void gui_view_update_io_mem(void); -void gui_view_update_reg_flag(void); +void gui_view_update_reg_flag(gboolean reset); void gui_view_update_all(void); void Modified: trunk/src/interface.c =================================================================== --- trunk/src/interface.c 2008-09-08 19:00:06 UTC (rev 124) +++ trunk/src/interface.c 2008-09-17 21:43:58 UTC (rev 125) @@ -645,7 +645,7 @@ gtk_widget_show (hbox31); gtk_container_add (GTK_CONTAINER (alignment8), hbox31); - image294 = gtk_image_new_from_stock (GTK_STOCK_GO_FORWARD, GTK_ICON_SIZE_BUTTON); + image294 = gtk_image_new_from_stock (GTK_STOCK_GO_BACK, GTK_ICON_SIZE_BUTTON); gtk_widget_show (image294); gtk_box_pack_start (GTK_BOX (hbox31), image294, FALSE, FALSE, 0); @@ -843,6 +843,7 @@ gtk_widget_show (main_data_scroll); gtk_container_add (GTK_CONTAINER (main_frame_data), main_data_scroll); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (main_data_scroll), GTK_SHADOW_OUT); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (main_data_scroll), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); label150 = gtk_label_new (_("Variables")); gtk_widget_show (label150); @@ -871,6 +872,7 @@ gtk_widget_show (main_stack_scroll); gtk_container_add (GTK_CONTAINER (frame11), main_stack_scroll); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (main_stack_scroll), GTK_SHADOW_OUT); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (main_stack_scroll), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); label152 = gtk_label_new (_("Stack Trace")); gtk_widget_show (label152); @@ -899,6 +901,7 @@ gtk_widget_show (main_keypad_scroll); gtk_container_add (GTK_CONTAINER (frame14), main_keypad_scroll); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (main_keypad_scroll), GTK_SHADOW_OUT); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (main_keypad_scroll), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); hbox40 = gtk_hbox_new (FALSE, 5); gtk_widget_show (hbox40); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |