memviewer done :)
This commit is contained in:
parent
1a7fdbff3b
commit
e5f978e94d
|
@ -1,4 +1,4 @@
|
|||
/* callbacks_1_memview.c - this file is part of DeSmuME
|
||||
/* callbacks_2_memview.c - this file is part of DeSmuME
|
||||
*
|
||||
* Copyright (C) 2007 Damien Nozay (damdoum)
|
||||
* Author: damdoum at users.sourceforge.net
|
||||
|
@ -33,12 +33,19 @@ enum SHOW {
|
|||
static BOOL init=FALSE;
|
||||
static enum SHOW packmode=Bit8;
|
||||
static u32 address=0, tmpaddr=0, bpl=0; int cpu=0;
|
||||
static PangoAttrList *attr_Address, *attr_Pattern1, *attr_Pattern2, *attr_Text;
|
||||
static PangoAttrList *attr_Text8,*attr_Text16,*attr_Text32;
|
||||
static char patt[512];
|
||||
|
||||
static GtkEntry *wAddress;
|
||||
static GtkDrawingArea *wPaint;
|
||||
void refresh();
|
||||
static GtkRange *wRange;
|
||||
|
||||
void refresh();
|
||||
void initialise();
|
||||
|
||||
|
||||
|
||||
/* which cpu we look into */
|
||||
|
||||
void on_wtools_2_cpu_changed (GtkComboBox *widget, gpointer user_data) {
|
||||
/* c == 0 means ARM9 */
|
||||
|
@ -54,44 +61,104 @@ void on_wtools_2_r16_toggled (GtkToggleButton *togglebutton, gpointer
|
|||
void on_wtools_2_r32_toggled (GtkToggleButton *togglebutton, gpointer user_data) { packmode=Bit32; refresh(); }
|
||||
|
||||
/* which address */
|
||||
#define RANGE_MIN 0
|
||||
#define RANGE_MAX 0x100000000
|
||||
#define ADDR_MASK 0xFFFFFFF0
|
||||
#define STEP_ONE_LINE 0x10
|
||||
#define STEP_ONE_PAGE 0x100
|
||||
#define STEP_x10_PAGE 0x1000
|
||||
|
||||
void scroll_address(u32 addr) {
|
||||
address = addr & ADDR_MASK;
|
||||
refresh();
|
||||
}
|
||||
void change_address(u32 addr) {
|
||||
gtk_range_set_value(wRange, addr);
|
||||
}
|
||||
void add_to_address(u32 inc) {
|
||||
change_address(address+inc);
|
||||
}
|
||||
|
||||
void on_wtools_2_GotoAddress_activate (GtkEntry *entry, gpointer user_data) {
|
||||
address=strtol(gtk_entry_get_text(entry),NULL,0);
|
||||
refresh();
|
||||
change_address(strtol(gtk_entry_get_text(entry),NULL,0));
|
||||
}
|
||||
void on_wtools_2_GotoAddress_changed (GtkEntry *entry, gpointer user_data) {
|
||||
tmpaddr=strtol(gtk_entry_get_text(entry),NULL,0);
|
||||
}
|
||||
void on_wtools_2_GotoButton_clicked (GtkButton *button, gpointer user_data) {
|
||||
address=tmpaddr;
|
||||
refresh();
|
||||
change_address(tmpaddr);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void on_wtools_2_MemView_show (GtkWidget *widget, gpointer user_data) {
|
||||
GtkWidget * combo = glade_xml_get_widget(xml_tools, "wtools_2_cpu");
|
||||
wAddress = (GtkEntry*)glade_xml_get_widget(xml_tools, "wtools_2_GotoAddress");
|
||||
wPaint = (GtkDrawingArea*)glade_xml_get_widget(xml_tools, "wtools_2_draw");
|
||||
gtk_combo_box_set_active((GtkComboBox*)combo, 0);
|
||||
refresh();
|
||||
initialize();
|
||||
change_address(RANGE_MIN);
|
||||
}
|
||||
|
||||
void on_wtools_2_scroll_scroll_child (GtkScrolledWindow *scrolledwindow, GtkScrollType scroll, gboolean horizontal, gpointer user_data) {
|
||||
// scroll
|
||||
refresh();
|
||||
|
||||
|
||||
/* scroll functions :D */
|
||||
|
||||
void on_wtools_2_scroll_value_changed (GtkRange *range, gpointer user_data) {
|
||||
u32 addr=(u32)gtk_range_get_value(range);
|
||||
scroll_address(addr);
|
||||
}
|
||||
gboolean on_wtools_2_draw_scroll_event (GtkWidget *widget, GdkEventScroll *event, gpointer user_data) {
|
||||
switch (event->direction) {
|
||||
case GDK_SCROLL_UP:
|
||||
add_to_address(-STEP_ONE_PAGE); break;
|
||||
case GDK_SCROLL_DOWN:
|
||||
add_to_address(+STEP_ONE_PAGE); break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
gboolean on_wtools_2_draw_expose_event (GtkWidget *widget, GdkEventExpose *event, gpointer user_data) { refresh(); return TRUE; }
|
||||
|
||||
gboolean on_wtools_2_draw_expose_event (GtkWidget *widget, GdkEventExpose *event, gpointer user_data) { refresh(); }
|
||||
|
||||
|
||||
|
||||
|
||||
/* initialise what we have to */
|
||||
|
||||
void initialize() {
|
||||
GtkWidget * combo;
|
||||
GtkAdjustment *adj;
|
||||
int i,j;
|
||||
|
||||
if (init) return;
|
||||
pango_parse_markup("<span foreground=\"blue\"> </span>", -1, 0, &attr_Address, NULL, NULL, NULL);
|
||||
pango_parse_markup("<tt foreground=\"gray\"> </span>", -1, 0, &attr_Pattern1, NULL, NULL, NULL);
|
||||
pango_parse_markup("<tt> </tt>", -1, 0, &attr_Pattern2, NULL, NULL, NULL);
|
||||
pango_parse_markup("<tt> </tt>", -1, 0, &attr_Text, NULL, NULL, NULL);
|
||||
combo = glade_xml_get_widget(xml_tools, "wtools_2_cpu");
|
||||
adj = (GtkAdjustment *)gtk_adjustment_new (RANGE_MIN, RANGE_MIN, RANGE_MAX,
|
||||
STEP_ONE_LINE, STEP_x10_PAGE, STEP_ONE_PAGE);
|
||||
|
||||
// get widget reference
|
||||
wAddress = (GtkEntry*)glade_xml_get_widget(xml_tools, "wtools_2_GotoAddress");
|
||||
wPaint = (GtkDrawingArea*)glade_xml_get_widget(xml_tools, "wtools_2_draw");
|
||||
wRange = (GtkRange*)glade_xml_get_widget(xml_tools, "wtools_2_scroll");
|
||||
|
||||
gtk_combo_box_set_active((GtkComboBox*)combo, 0);
|
||||
gtk_range_set_adjustment(wRange, adj);
|
||||
|
||||
#define PATT(x) x"<span foreground=\"#608060\">" x "</span>"
|
||||
#define DUP(x) x x
|
||||
strcpy(patt, "<tt><span foreground=\"blue\">0000:0000</span> | ");
|
||||
strcat(patt, DUP(DUP(DUP(PATT("00_")))) );
|
||||
strcat(patt, "| 0123456789ABCDEF</tt>");
|
||||
pango_parse_markup(patt,-1,0,&attr_Text8,NULL,NULL,NULL);
|
||||
|
||||
strcpy(patt, "<tt><span foreground=\"blue\">0000:0000</span> | ");
|
||||
strcat(patt, DUP(DUP(PATT("_0000_"))) );
|
||||
strcat(patt, "| 0123456789ABCDEF</tt>");
|
||||
pango_parse_markup(patt,-1,0,&attr_Text16,NULL,NULL,NULL);
|
||||
|
||||
strcpy(patt, "<tt><span foreground=\"blue\">0000:0000</span> | ");
|
||||
strcat(patt, DUP(PATT("__00000000__")) );
|
||||
strcat(patt, "| 0123456789ABCDEF</tt>");
|
||||
pango_parse_markup(patt,-1,0,&attr_Text32,NULL,NULL,NULL);
|
||||
#undef DUP
|
||||
#undef PATT
|
||||
init = TRUE;
|
||||
}
|
||||
|
||||
|
@ -101,23 +168,29 @@ void refresh() {
|
|||
PangoLayout* playout = gtk_widget_create_pango_layout(area, NULL);
|
||||
GdkGC * GC = area->style->fg_gc[area->state];
|
||||
int i,j,addr, w,h,x,y; u8 c;
|
||||
char txt[80],*ptxt;
|
||||
char words[4][13];
|
||||
char *ptxt, txt[]="0000:0000 | 00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF | 0123456789ABCDEF\0";
|
||||
PangoAttrList *attr;
|
||||
|
||||
switch(packmode){
|
||||
default:
|
||||
case Bit8: attr=attr_Text8; break;
|
||||
case Bit16: attr=attr_Text16; break;
|
||||
case Bit32: attr=attr_Text32; break;
|
||||
}
|
||||
|
||||
initialize();
|
||||
gdk_draw_rectangle(area->window, area->style->white_gc, TRUE, 0, 0,
|
||||
area->allocation.width, area->allocation.height);
|
||||
|
||||
char * def_patt = "<tt>0000:0000 | 00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF | 0123456789ABCDEF</tt>";
|
||||
pango_layout_set_markup(playout, def_patt , -1);
|
||||
pango_layout_set_text(playout, txt, -1);
|
||||
pango_layout_set_attributes(playout, attr);
|
||||
pango_layout_get_pixel_size(playout, &w, &h);
|
||||
gtk_widget_set_usize(area,w+20, (10*h)+10);
|
||||
gtk_widget_set_usize(area,w+20, (0x10*h)+10);
|
||||
|
||||
// draw memory content here
|
||||
addr=address;
|
||||
for (i=0,x=10,y=5; i<10; i++,y+=h) {
|
||||
for (i=0,x=10,y=5; i<0x10; i++,y+=h) {
|
||||
ptxt = txt;
|
||||
sprintf(ptxt, "%04X:%04X | ", (addr>>16), (addr&0xFFFF)); ptxt+=12;
|
||||
sprintf(ptxt, "%04X:%04X | ", (addr>>16)&0xFFFF, addr&0xFFFF); ptxt+=12;
|
||||
switch(packmode) {
|
||||
case Bit8:
|
||||
for (j=0; j<16; j++,ptxt+=3)
|
||||
|
@ -134,12 +207,12 @@ void refresh() {
|
|||
}
|
||||
sprintf(ptxt, "| "); ptxt +=2;
|
||||
for (j=0; j<16; j++,ptxt++)
|
||||
sprintf(ptxt, "%c", ((c=MMU_readByte(cpu, addr+j))<32)?'.':((c&0x80)?',':c));
|
||||
sprintf(ptxt, "%c", ((c=MMU_readByte(cpu, addr+j))<0x20)?'.':((c>=0x7F)?'.':c)); // only ASCII printable
|
||||
addr += 16;
|
||||
*(ptxt)=0;
|
||||
|
||||
pango_layout_set_text(playout, txt, -1);
|
||||
pango_layout_set_attributes(playout,attr_Text);
|
||||
pango_layout_set_attributes(playout, attr);
|
||||
gdk_draw_layout(area->window, GC, x, y, playout);
|
||||
}
|
||||
|
||||
|
|
|
@ -54,5 +54,6 @@ void on_wtools_2_r32_toggled (GtkToggleButton *togglebutton, gpointer
|
|||
void on_wtools_2_GotoAddress_activate (GtkEntry *entry, gpointer user_data);
|
||||
void on_wtools_2_GotoAddress_changed (GtkEntry *entry, gpointer user_data);
|
||||
void on_wtools_2_GotoButton_clicked (GtkButton *button, gpointer user_data);
|
||||
void on_wtools_2_scroll_scroll_child (GtkScrolledWindow *scrolledwindow, GtkScrollType scroll, gboolean horizontal, gpointer user_data);
|
||||
void on_wtools_2_scroll_value_changed (GtkRange *range, gpointer user_data);
|
||||
gboolean on_wtools_2_draw_expose_event (GtkWidget *widget, GdkEventExpose *event, gpointer user_data);
|
||||
gboolean on_wtools_2_draw_scroll_event (GtkWidget *widget, GdkEventScroll *event, gpointer user_data);
|
||||
|
|
|
@ -117,7 +117,7 @@
|
|||
<signal name="activate" handler="on_menu_reset_activate" last_modification_time="Mon, 01 Jan 2007 16:40:47 GMT"/>
|
||||
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="image49">
|
||||
<widget class="GtkImage" id="image52">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-refresh</property>
|
||||
<property name="icon_size">1</property>
|
||||
|
@ -328,7 +328,7 @@
|
|||
<signal name="activate" handler="on_menu_controls_activate" last_modification_time="Mon, 01 Jan 2007 16:53:11 GMT"/>
|
||||
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="image50">
|
||||
<widget class="GtkImage" id="image53">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-preferences</property>
|
||||
<property name="icon_size">1</property>
|
||||
|
@ -349,7 +349,7 @@
|
|||
<signal name="activate" handler="on_menu_joy_controls_activate" last_modification_time="Fri, 12 Jan 2007 22:26:36 GMT"/>
|
||||
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="image51">
|
||||
<widget class="GtkImage" id="image54">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-preferences</property>
|
||||
<property name="icon_size">1</property>
|
||||
|
@ -423,7 +423,7 @@
|
|||
<signal name="activate" handler="on_menu_IO_regs_activate" last_modification_time="Mon, 01 Jan 2007 16:53:11 GMT"/>
|
||||
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="image52">
|
||||
<widget class="GtkImage" id="image55">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-properties</property>
|
||||
<property name="icon_size">1</property>
|
||||
|
@ -437,11 +437,23 @@
|
|||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkMenuItem" id="menu_memview">
|
||||
<widget class="GtkImageMenuItem" id="menu_memview">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">View Memory</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="on_menu_memview_activate" last_modification_time="Fri, 12 Jan 2007 15:44:42 GMT"/>
|
||||
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="image56">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-properties</property>
|
||||
<property name="icon_size">1</property>
|
||||
<property name="xalign">0.5</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">0</property>
|
||||
<property name="ypad">0</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
|
|
|
@ -600,7 +600,7 @@ cpu : ARM9</property>
|
|||
<property name="focus_on_map">True</property>
|
||||
<property name="urgency_hint">False</property>
|
||||
<property name="has_separator">True</property>
|
||||
<signal name="close" handler="gtk_widget_hide" last_modification_time="Fri, 12 Jan 2007 12:58:31 GMT"/>
|
||||
<signal name="delete_event" handler="gtk_widget_hide" last_modification_time="Sat, 13 Jan 2007 20:13:44 GMT"/>
|
||||
<signal name="response" handler="gtk_widget_hide" last_modification_time="Fri, 12 Jan 2007 12:58:38 GMT"/>
|
||||
<signal name="show" handler="on_wtools_2_MemView_show" last_modification_time="Fri, 12 Jan 2007 13:35:53 GMT"/>
|
||||
|
||||
|
@ -640,11 +640,17 @@ cpu : ARM9</property>
|
|||
<widget class="GtkTable" id="table2">
|
||||
<property name="visible">True</property>
|
||||
<property name="n_rows">2</property>
|
||||
<property name="n_columns">7</property>
|
||||
<property name="n_columns">2</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="row_spacing">0</property>
|
||||
<property name="column_spacing">0</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkHBox" id="hbox1">
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="spacing">0</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkRadioButton" id="wtools_2_r8">
|
||||
<property name="visible">True</property>
|
||||
|
@ -653,18 +659,15 @@ cpu : ARM9</property>
|
|||
<property name="use_underline">True</property>
|
||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||
<property name="focus_on_click">True</property>
|
||||
<property name="active">False</property>
|
||||
<property name="active">True</property>
|
||||
<property name="inconsistent">False</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
<signal name="toggled" handler="on_wtools_2_r8_toggled" last_modification_time="Fri, 12 Jan 2007 13:30:18 GMT"/>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="right_attach">1</property>
|
||||
<property name="top_attach">0</property>
|
||||
<property name="bottom_attach">1</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options"></property>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
|
@ -683,12 +686,9 @@ cpu : ARM9</property>
|
|||
<signal name="toggled" handler="on_wtools_2_r16_toggled" last_modification_time="Fri, 12 Jan 2007 13:30:26 GMT"/>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="right_attach">2</property>
|
||||
<property name="top_attach">0</property>
|
||||
<property name="bottom_attach">1</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options"></property>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
|
@ -707,12 +707,25 @@ cpu : ARM9</property>
|
|||
<signal name="toggled" handler="on_wtools_2_r32_toggled" last_modification_time="Fri, 12 Jan 2007 13:30:34 GMT"/>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
<property name="right_attach">3</property>
|
||||
<property name="top_attach">0</property>
|
||||
<property name="bottom_attach">1</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options"></property>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkComboBox" id="wtools_2_cpu">
|
||||
<property name="visible">True</property>
|
||||
<property name="items" translatable="yes">ARM9 cpu
|
||||
ARM7 cpu</property>
|
||||
<property name="add_tearoffs">False</property>
|
||||
<property name="focus_on_click">True</property>
|
||||
<signal name="changed" handler="on_wtools_2_cpu_changed" last_modification_time="Fri, 12 Jan 2007 18:36:24 GMT"/>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
|
@ -735,12 +748,9 @@ cpu : ARM9</property>
|
|||
<property name="angle">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">3</property>
|
||||
<property name="right_attach">4</property>
|
||||
<property name="top_attach">0</property>
|
||||
<property name="bottom_attach">1</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options"></property>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
|
@ -751,7 +761,7 @@ cpu : ARM9</property>
|
|||
<property name="editable">True</property>
|
||||
<property name="visibility">True</property>
|
||||
<property name="max_length">10</property>
|
||||
<property name="text" translatable="yes">0x0000000</property>
|
||||
<property name="text" translatable="yes">0x00000000</property>
|
||||
<property name="has_frame">True</property>
|
||||
<property name="invisible_char">●</property>
|
||||
<property name="activates_default">False</property>
|
||||
|
@ -759,11 +769,9 @@ cpu : ARM9</property>
|
|||
<signal name="changed" handler="on_wtools_2_GotoAddress_changed" last_modification_time="Fri, 12 Jan 2007 13:43:06 GMT"/>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">4</property>
|
||||
<property name="right_attach">5</property>
|
||||
<property name="top_attach">0</property>
|
||||
<property name="bottom_attach">1</property>
|
||||
<property name="y_options"></property>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
|
@ -778,66 +786,53 @@ cpu : ARM9</property>
|
|||
<signal name="clicked" handler="on_wtools_2_GotoButton_clicked" last_modification_time="Fri, 12 Jan 2007 13:15:27 GMT"/>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">5</property>
|
||||
<property name="right_attach">6</property>
|
||||
<property name="top_attach">0</property>
|
||||
<property name="bottom_attach">1</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options"></property>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkScrolledWindow" id="wtools_2_scroll">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
||||
<property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
|
||||
<property name="shadow_type">GTK_SHADOW_NONE</property>
|
||||
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
|
||||
<signal name="scroll_child" handler="on_wtools_2_scroll_scroll_child" last_modification_time="Fri, 12 Jan 2007 13:14:01 GMT"/>
|
||||
|
||||
<child>
|
||||
<widget class="GtkViewport" id="viewport1">
|
||||
<property name="visible">True</property>
|
||||
<property name="shadow_type">GTK_SHADOW_IN</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkDrawingArea" id="wtools_2_draw">
|
||||
<property name="visible">True</property>
|
||||
<signal name="expose_event" handler="on_wtools_2_draw_expose_event" last_modification_time="Fri, 12 Jan 2007 13:14:44 GMT"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="right_attach">7</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="bottom_attach">2</property>
|
||||
<property name="right_attach">1</property>
|
||||
<property name="top_attach">0</property>
|
||||
<property name="bottom_attach">1</property>
|
||||
<property name="x_options">fill</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkComboBox" id="wtools_2_cpu">
|
||||
<widget class="GtkVScrollbar" id="wtools_2_scroll">
|
||||
<property name="visible">True</property>
|
||||
<property name="items" translatable="yes">ARM9 cpu
|
||||
ARM7 cpu</property>
|
||||
<property name="add_tearoffs">False</property>
|
||||
<property name="focus_on_click">True</property>
|
||||
<signal name="changed" handler="on_wtools_2_cpu_changed" last_modification_time="Fri, 12 Jan 2007 18:36:24 GMT"/>
|
||||
<property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
|
||||
<property name="inverted">False</property>
|
||||
<property name="adjustment">0 0 0 0 0 0</property>
|
||||
<signal name="value_changed" handler="on_wtools_2_scroll_value_changed" last_modification_time="Sat, 13 Jan 2007 19:38:07 GMT"/>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">6</property>
|
||||
<property name="right_attach">7</property>
|
||||
<property name="top_attach">0</property>
|
||||
<property name="bottom_attach">1</property>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="right_attach">2</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="bottom_attach">2</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options">fill</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkDrawingArea" id="wtools_2_draw">
|
||||
<property name="visible">True</property>
|
||||
<property name="events">GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||
<signal name="expose_event" handler="on_wtools_2_draw_expose_event" last_modification_time="Fri, 12 Jan 2007 13:14:44 GMT"/>
|
||||
<signal name="scroll_event" handler="on_wtools_2_draw_scroll_event" last_modification_time="Sat, 13 Jan 2007 19:50:18 GMT"/>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="right_attach">1</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="bottom_attach">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
|
|
Loading…
Reference in New Issue