ebook 86-9

Size: px
Start display at page:

Download "ebook 86-9"

Transcription

1 9 9.1 GtkLabel G t k L a b e l ( G T K X GtkWidget *gtk_label_new(char *str ); void gtk_label_set_text( GtkLabel *lacbel,char *str ); ( G T K _ L A B E L () ) void gtk_label_get( GtkLabel *Label,char **str ); G T K void gtk_label_set_justify( GtkLabel *Label, GtkJustification jtype ); j t y p e : GTK_JUSTIFY_LEFT GTK_JUSTIFY_RIGHT GTK_JUSTIFY_CENTER GTK_JUSTIFY_FILL ( ) void gtk_label_set_line_wrap (GtkLabel *Label, gboolean wrap); w r a p T R U E FA L S E void gtk_label_set_pattern (GtkLabel *Label,const gchar *pattern); p a t t e r n, /* GtkLabel label.c #include <gtk/gtk.h>

2 9 115 int main( int argc, char *argv[] ) static GtkWidget *window = NULL; GtkWidget *hbox; GtkWidget *vbox; GtkWidget *frame; GtkWidget *label; /* GTK gtk_init(&argc, &argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_signal_connect (GTK_OBJECT (window), "destroy", G T K _ S I G N A L _ F U N C ( g t k _ m a i n _ q u i t ), N U L L ); gtk_window_set_title (GTK_WINDOW (window), "Label"); vbox = gtk_vbox_new (FALSE, 5); hbox = gtk_hbox_new (FALSE, 5); gtk_container_add (GTK_CONTAINER (window), hbox); gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (window), 5); frame = gtk_frame_new ("Normal Label"); label = gtk_label_new ("This is a Normal label"); gtk_container_add (GTK_CONTAINER (frame), label); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0); frame = gtk_frame_new ("Multi-line Label"); label = gtk_label_new ("This is a Multi-line label.\nsecond line\n" \ "Third line"); gtk_container_add (GTK_CONTAINER (frame), label); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0); frame = gtk_frame_new ("Left Justified Label"); label = gtk_label_new ("This is a Left-Justified\n" \ "Multi-line label.\nthird line"); gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT); gtk_container_add (GTK_CONTAINER (frame), label); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0); frame = gtk_frame_new ("Right Justified Label"); label = gtk_label_new ("This is a Right-Justified\nMulti-line label.\n" \ "Fourth line, (j/k)"); gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_RIGHT); gtk_container_add (GTK_CONTAINER (frame), label); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0); vbox = gtk_vbox_new (FALSE, 5); gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0);

3 116 Linux C frame = gtk_frame_new ("Line wrapped label"); label = gtk_label_new ("This is an example of a line-wrapped label. It " \ "should not be taking up the entire " /* \ "width allocated to it, but automatically " \ "wraps the words to fit. " \ "The time has come, for all good men, to come to " \ "the aid of their party. " \ "The sixth sheik s six sheep s sick.\n" \ " It supports multiple paragraphs correctly, " \ "and correctly adds "\ "many extra spaces. "); gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); gtk_container_add (GTK_CONTAINER (frame), label); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0); \ " \ frame = gtk_frame_new ("Filled, wrapped label"); label = gtk_label_new ("This is an example of a line-wrapped, filled label "It should be taking "\ "up the entire width allocated to it. " "Here is a sentence to prove "\ "my point. Here is another sentence. "\ "Here comes the sun, do de do de do.\n"\ " This is a new paragraph.\n"\ " This is another newer, longer, better " \ "paragraph. It is coming to an end, "\ " u n f o r t u n a t e l y."); gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_FILL); gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); gtk_container_add (GTK_CONTAINER (frame), label); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0); frame = gtk_frame_new ("Underlined label"); label = gtk_label_new ("This label is underlined!\n" "This one is underlined in quite a funky fashion"); gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT); gtk_label_set_pattern (GTK_LABEL (label), " \ "); gtk_container_add (GTK_CONTAINER (frame), label); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0); gtk_widget_show_all (window); gtk_main (); r e t u r n ( 0 ); /*

4 G t k L a b e l GtkArrow G t k A r r o w ( GtkWidget *gtk_arrow_new( GtkArrowType arrow_type, GtkShadowType shadow_type ); void gtk_arrow_set( GtkArrow *arrow, GtkArrowType arrow_type, GtkShadowType shadow_type ); a r r o w _ t y p e GTK_ARROW_UP GTK_ARROW_DOWN GTK_ARROW_LEFT G T K _ A R R O W _ R I G H T s h a d o w _ t y p e GTK_SHADOW_IN GTK_SHADOW_OUT ( ) GTK_SHADOW_ETCHED_IN G T K _ S H A D O W _ E T C H E D _ O U T /* GtkArrow arrow.c

5 118 Linux C #include <gtk/gtk.h> /* GtkWidget *create_arrow_button( GtkArrowType arrow_type, GtkShadowType shadow_type ) GtkWidget *button; GtkWidget *arrow; button = gtk_button_new(); arrow = gtk_arrow_new (arrow_type, shadow_type); gtk_container_add (GTK_CONTAINER (button), arrow); g t k _ w i d g e t _ s h o w ( b u t t o n ); g t k _ w i d g e t _ s h o w ( a r r o w ); r e t u r n ( b u t t o n ) ; int main( int argc, char *argv[] ) /* GtkWidget GtkWidget *window; GtkWidget *button; GtkWidget *box; /* Gtk gtk_init (&argc, &argv); /* window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "Arrow Buttons"); gtk_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC (gtk_main_quit), NULL); /* gtk_container_set_border_width (GTK_CONTAINER (window), 10); /* / box = gtk_hbox_new (FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (box), 2); gtk_container_add (GTK_CONTAINER (window), box); /* g t k _ w i d g e t _ s h o w ( b o x ); button = create_arrow_button(gtk_arrow_up, GTK_SHADOW_IN);

6 9 119 gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 3); button = create_arrow_button(gtk_arrow_down, GTK_SHADOW_OUT); gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 3); button = create_arrow_button(gtk_arrow_left, GTK_SHADOW_ETCHED_IN); gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 3); button = create_arrow_button(gtk_arrow_right, GTK_SHADOW_ETCHED_OUT); gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 3); gtk_widget_show (window); /* gtk_main (); r e t u r n ( 0 ); /* GtkTooltips G t k To o l t i p s ( X ) g t k _ t o o l t i p s _ n e w () G t k To o l t i p s GtkTooltips *gtk_tooltips_new(void); void gtk_tooltips_set_tip( GtkTooltips *tooltip, GtkWidget *widget,const gchar *tip_text,const gchar *tip_private ); G t k Ti p s Q u e r y, N U L L. 9-2 GtkArrow GtkTooltips *tooltips; GtkWidget *button;.. tooltips = gtk_tooltips_new (); button = gtk_button_new_with_label ("button 1");.. gtk_tooltips_set_tip (tooltips, button, "This is button 1", NULL);

7 120 Linux C void gtk_tooltips_enable( GtkTooltips *tooltip); void gtk_tooltips_disable( GtkTooltips *tooltip); void gtk_tooltips_set_delay( GtkTooltips *tooltip, gint delay); 500 ( ) void gtk_tooltips_set_colors( GtkTooltips *tooltips, GdkColor *background, GdkColor *foreground ); 9.4 GtkProgressBar, GtkWidget *gtk_progress_bar_new(void); GtkWidget *gtk_progress_bar_new_with_adjustment( GtkAdjustment *adjustment); void gtk_progress_set_adjustment( GtkProgress *progress, GtkAdjustment *adjustment); void gtk_progress_bar_update( GtkProgressBar *pbar, gfloat percentage); % 0 1 GTK 1.2 void gtk_progress_bar_set_orientation( GtkProgressBar *pbar, GtkProgressBarOrientation orientation); o r i e n t a t i o n : G T K _ P R O G R E S S _ L E F T _ TO _ R I G H T G T K _ P R O G R E S S _ R I G H T _ TO _ L E F T G T K _ P R O G R E S S _ B O T TO M _ TO _ TOP G T K _ P R O G R E S S _ TO P _ TO _ B O T TO M

8 9 121 void gtk_progress_bar_set_bar_style( GtkProgressBar *pbar, GtkProgressBarStyle style); s t y l e GTK_PROGRESS_CONTINUOUS G T K _ P R O G R E S S _ D I S C R E T E : gtk_progress_bar_set_discrete_blocks( GtkProgressBar *pbar, guint blocks); s t y l e T R U E FA L S E void gtk_progress_set_activity_mode( GtkProgress *progress, guint activity_mode ); void gtk_progress_bar_set_activity_step( GtkProgressBar *pbar, guint step); void gtk_progress_bar_set_activity_blocks( GtkProgressBar *pbar, guint b l o c k s ); void gtk_progress_set_format_string( GtkProgress *progress, gchar *format); f o r m a t C p r i n t f %p %v % l %u / void gtk_progress_set_show_text( GtkProgress *progress, gint show_text ); s h o w _ t e x t T R U E / FA L S E void gtk_progress_set_text_alignment( GtkProgress *progress, gfloat x_align, gfloat y_align ); x _ a l i g n y _ a l i g n ( ) 1. 0 ( g _ f r e e () ) gchar *gtk_progress_get_current_text( GtkProgress *progress ); gchar *gtk_progress_get_text_from_value( GtkProgress *progress, gfloat value ); void gtk_progress_configure( GtkProgress *progress, gfloat value, gfloat min, gfloat max);

9 122 Linux C void gtk_progress_set_percentage( GtkProgress *progress, gfloat percentage); void gtk_progress_set_value( GtkProgress *progress, gfloat value); gfloat gtk_progress_get_value( GtkProgress *progress); gfloat gtk_progress_get_current_percentage( GtkProgress *progress); gfloat gtk_progress_get_percentage_from_value( GtkProgress *progress, gfloat value); t i m e o u t g t k _ p r o g r e s s _ b a r _ u p d a t e t i m e o u t /* GtkProgressBar progressbar.c #include <gtk/gtk.h> typedef struct _ProgressData GtkWidget *window; GtkWidget *pbar; int timer; ProgressData; /* gint progress_timeout( gpointer data ) gfloat new_val; GtkAdjustment *adj; /* new_val = gtk_progress_get_value( GTK_PROGRESS(data) ) + 1; adj = GTK_PROGRESS (data)->adjustment; if (new_val > adj->upper) new_val = adj->lower; /* gtk_progress_set_value (GTK_PROGRESS (data), new_val); /* t i m e o u t T R U E r e t u r n ( T R U E ); /* void toggle_show_text( GtkWidget *widget, ProgressData *pdata )

10 9 123 gtk_progress_set_show_text (GTK_PROGRESS (pdata->pbar), GTK_TOGGLE_BUTTON (widget)->active); /* void toggle_activity_mode( GtkWidget *widget, ProgressData *pdata ) gtk_progress_set_activity_mode (GTK_PROGRESS (pdata->pbar), GTK_TOGGLE_BUTTON (widget)->active); /* void set_continuous_mode( GtkWidget *widget, ProgressData *pdata ) gtk_progress_bar_set_bar_style (GTK_PROGRESS_BAR (pdata->pbar), G T K _ P R O G R E S S _ C O N T I N U O U S ); /* void set_discrete_mode( GtkWidget *widget, ProgressData *pdata ) gtk_progress_bar_set_bar_style (GTK_PROGRESS_BAR (pdata->pbar), G T K _ P R O G R E S S _ D I S C R E T E ); /* t i m e o u t void destroy_progress( GtkWidget *widget, ProgressData *pdata) gtk_timeout_remove (pdata->timer); pdata->timer = 0; pdata->window = NULL; g _ f r e e ( p d a t a ); g t k _ m a i n _ q u i t (); int main( int argc, char *argv[]) ProgressData *pdata; GtkWidget *align; GtkWidget *separator; GtkWidget *table; GtkAdjustment *adj; GtkWidget *button; GtkWidget *check; GtkWidget *vbox;

11 124 Linux C gtk_init (&argc, &argv); /* pdata = g_malloc( sizeof(progressdata) ); pdata->window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_policy (GTK_WINDOW (pdata->window), FALSE, FALSE, TRUE); gtk_signal_connect (GTK_OBJECT (pdata->window), "destroy", GTK_SIGNAL_FUNC (destroy_progress), p d a t a ); gtk_window_set_title (GTK_WINDOW (pdata->window), "GtkProgressBar"); gtk_container_set_border_width (GTK_CONTAINER (pdata->window), 0); vbox = gtk_vbox_new (FALSE, 5); gtk_container_set_border_width (GTK_CONTAINER (vbox), 10); gtk_container_add (GTK_CONTAINER (pdata->window), vbox); g t k _ w i d g e t _ s h o w ( v b o x ); /* align = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, FALSE, 5); g t k _ w i d g e t _ s h o w ( a l i g n ); /* adj = (GtkAdjustment *) gtk_adjustment_new (0, 1, 150, 0, 0, 0); /* pdata->pbar = gtk_progress_bar_new_with_adjustment (adj); /* * %p - * %v - * %l - * %u - gtk_progress_set_format_string (GTK_PROGRESS (pdata->pbar), "%v from [%l-%u] (=%p%%)"); gtk_container_add (GTK_CONTAINER (align), pdata->pbar); g t k _ w i d g e t _ s h o w ( p d a t a - > p b a r ); /* pdata->timer = gtk_timeout_add (100, progress_timeout, pdata->pbar); separator = gtk_hseparator_new (); gtk_box_pack_start (GTK_BOX (vbox), separator, FALSE, FALSE, 0); g t k _ w i d g e t _ s h o w ( s e p a r a t o r ); /* table = gtk_table_new (2, 3, FALSE); gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, TRUE, 0); g t k _ w i d g e t _ s h o w ( t a b l e );

12 9 125 /* check = gtk_check_button_new_with_label ("Show text"); gtk_table_attach (GTK_TABLE (table), check, 0, 1, 0, 1, GTK_EXPAND GTK_FILL, GTK_EXPAND GTK_FILL, 5, 5); gtk_signal_connect (GTK_OBJECT (check), "clicked", GTK_SIGNAL_FUNC (toggle_show_text), p d a t a ); g t k _ w i d g e t _ s h o w ( c h e c k ); /* check = gtk_check_button_new_with_label ("Activity mode"); gtk_table_attach (GTK_TABLE (table), check, 0, 1, 1, 2, GTK_EXPAND GTK_FILL, GTK_EXPAND GTK_FILL, 5, 5); gtk_signal_connect (GTK_OBJECT (check), "clicked", GTK_SIGNAL_FUNC (toggle_activity_mode), p d a t a ); g t k _ w i d g e t _ s h o w ( c h e c k ); separator = gtk_vseparator_new (); gtk_table_attach (GTK_TABLE (table), separator, 1, 2, 0, 2, GTK_EXPAND GTK_FILL, GTK_EXPAND GTK_FILL, 5, 5); g t k _ w i d g e t _ s h o w ( s e p a r a t o r ); /* button = gtk_radio_button_new_with_label (NULL, "Continuous"); gtk_table_attach (GTK_TABLE (table), button, 2, 3, 0, 1, GTK_EXPAND GTK_FILL, GTK_EXPAND GTK_FILL, 5, 5); gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (set_continuous_mode), p d a t a ); gtk_widget_show (button); /* button = gtk_radio_button_new_with_label( gtk_radio_button_group (GTK_RADIO_BUTTON (button)), " D i s c r e t e "); gtk_table_attach (GTK_TABLE (table), button, 2, 3, 1, 2, GTK_EXPAND GTK_FILL, GTK_EXPAND GTK_FILL, 5, 5); gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (set_discrete_mode), p d a t a ); gtk_widget_show (button); separator = gtk_hseparator_new (); gtk_box_pack_start (GTK_BOX (vbox), separator, FALSE, FALSE, 0); g t k _ w i d g e t _ s h o w ( s e p a r a t o r );

13 126 Linux C /* button = gtk_button_new_with_label ("close"); gtk_signal_connect_object (GTK_OBJECT (button), "clicked", (GtkSignalFunc) gtk_widget_destroy, GTK_OBJECT (pdata->window)); gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); /* GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT); /* * gtk_widget_grab_default (button); g t k _ w i d g e t _ s h o w ( b u t t o n ); gtk_widget_show (pdata->window); gtk_main (); r e t u r n ( 0 ); /* p r o g r e s s b a r. c struct GtkDialog GtkWindow window; GtkWidget *vbox; GtkWidget *action_area; ; G t k V B o x G t k V B o x G t k H B o x. GtkWidget *gtk_dialog_new(void); GtkWidget *window; window = gtk_dialog_new (); button =... gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->action_area), button,true,true, 0); gtk_widget_show (button); v b o x label = gtk_label_new ("XXXXX"); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->vbox),label, TRUE,TRUE, 0); gtk_widget_show (label);

14 9 127 G t k D i a l o g G n o m e D i a l o g G n o m e D i a l o g pixmap p i x m a p s X 2 p i x m a p p i x m a p X X X X p i x m a p X p i x m a p X Y Z p i x m a p X G T K p i x m a p X p i x m a p p i x m a p GdkPixmap *gdk_bitmap_create_from_data( GdkWindow *window, gchar *data, gint width, gint height ); pixmap (2 ) G d k Wi n d o w p i x m a p GdkPixmap *gdk_pixmap_create_from_data( GdkWindow *window, gchar *data, gint width, gint height, gint depth, GdkColor *fg, GdkColor *bg ); p i x m a p f g b g GdkPixmap *gdk_pixmap_create_from_xpm_d( GdkWindow *window, GdkBitmap **mask, GdkColor *transparent_color, gchar **data ); X P M X p i x m a p f i l e n a m e X P M p i x m a p M a s k p i x m a p

15 128 Linux C t r a n s p a r e n t _ c o l o r GdkPixmap *gdk_pixmap_create_from_xpm_d( GdkWindow *window, GdkBitmap **mask, GdkColor *transparent_color, gchar **data ); X P M p i x m a p /* XPM static const char * xpm_data[] = " ", " c None", ". c # ", "X c #FFFFFFFFFFFF", " ", "... ", ".XXX.X. ", ".XXX.XX. ", ".XXX.XXX. ", ".XXX... ", ".XXXXXXX. ", ".XXXXXXX. ", ".XXXXXXX. ", ".XXXXXXX. ", ".XXXXXXX. ", ".XXXXXXX. ", ".XXXXXXX. ", "... ", " ", " "; p i x m a p g d k _ p i x m a p _ u n r e f () p i x m a p X P C p i x m a p G t k G t k P i x m a p GDK pixmap GtkWidget *gtk_pixmap_new( GdkPixmap *pixmap, GdkBitmap *mask ); guint gtk_pixmap_get_type(void); void gtk_pixmap_set( GtkPixmap *pixmap, GdkPixmap *val, GdkBitmap *mask); void gtk_pixmap_get( GtkPixmap *pixmap, GdkPixmap **val, GdkBitmap **mask); g t k _ p i x m a p _ s e t p i x m a p v a l G D K p i x m a p p i x m a p /* pixmap pixmap.c #include <gtk/gtk.h>

16 9 129 /* XPM " static const char * xpm_data[] = " ", " c None", ". c # ", "X c #FFFFFFFFFFFF", " ", "... ", ".XXX.X. ", ".XXX.XX. ", ".XXX.XXX. ", ".XXX... ", ".XXXXXXX. ", ".XXXXXXX. ", ".XXXXXXX. ", ".XXXXXXX. ", ".XXXXXXX. ", ".XXXXXXX. ", ".XXXXXXX. ", "... ", " ", " "; /* ( d e l e t e _ e v e n t ) void close_application( GtkWidget *widget, GdkEvent *event, gpointer data ) g t k _ m a i n _ q u i t (); /* void button_clicked( GtkWidget *widget, gpointer data ) printf( "button clicked\n" ); int main( int argc, char *argv[] ) /* GtkWidget GtkWidget *window, *pixmapwid, *button; GdkPixmap *pixmap; GdkBitmap *mask; GtkStyle *style; /* d e l e t e _ e v e n t gtk_init( &argc, &argv ); window = gtk_window_new( GTK_WINDOW_TOPLEVEL ); gtk_signal_connect( GTK_OBJECT (window), "delete_event", GTK_SIGNAL_FUNC (close_application), NULL ); gtk_container_set_border_width( GTK_CONTAINER (window), 10 ); gtk_widget_show( window ); /* g d k Pixmap style = gtk_widget_get_style( window );

17 130 Linux C pixmap = gdk_pixmap_create_from_xpm_d( window->window, &mask, & s t y l e - > b g [ G T K _ S T A T E _ N O R M A L ], (gchar **)xpm_data ); /* P i x m a p p i x m a p pixmapwid = gtk_pixmap_new( pixmap, mask ); gtk_widget_show( pixmapwid ); /* p i x m a p button = gtk_button_new(); gtk_container_add( GTK_CONTAINER(button), pixmapwid ); gtk_container_add( GTK_CONTAINER(window), button ); gtk_widget_show( button ); gtk_signal_connect( GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(button_clicked), NULL ); /* gtk_main (); return 0; /* i c o n 0. x p m p i x m a p /* p i x m a p pixmap = gdk_pixmap_create_from_xpm( window->window, &mask, & s t y l e - > b g [ G T K _ S T A T E _ N O R M A L ], "./icon0.xpm" ); pixmapwid = gtk_pixmap_new( pixmap, mask ); gtk_widget_show( pixmapwid ); gtk_container_add( GTK_CONTAINER(window), pixmapwid ); p i x m a p, p i x m a p /* wheelbarrow.c #include <gtk/gtk.h> /* XPM static char * WheelbarrowFull_xpm[] = " ", " c None", ". c #DF7DCF3CC71B", "X c #965875D669A6", "o c #71C671C671C6", "O c #A699A289A699", "+ c # ", "@ c #8E C2",

18 9 131 "# c #D75C7DF769A6", "$ c #F7DECF3CC71B", "% c #96588A288E38", "& c #A E79", "* c #8E E38", "= c # ", "- c # ", "; c #C71B30C230C2", ": c #C71B9A699658", "> c # ", ", c #20811C712081", "< c # ", "1 c # ", "2 c #DF7D4D344103", "3 c #79E769A671C6", "4 c # ", "5 c #41033CF34103", "6 c # ", "7 c #49241C711040", "8 c # ", "9 c # ", "0 c #69A ", "q c #B6DA71C65144", "w c #410330C238E3", "e c #CF3CBAEAB6DA", "r c #71C C2", "t c #EFBEDB6CD75C", "y c #28A ", "u c # ", "i c #596528A21861", "p c #71C ", "a c #A ", "s c #30C228A230C2", "d c #BEFBA289AEBA", "f c # ", "g c #30C230C230C2", "h c #8E ", "j c # ", "k c #38E30C300820", "l c #30C A2", "z c #38E328A238E3", "x c #514438E34924", "c c # ", "v c #30C C2", "b c #38E328A230C2", "n c #28A228A228A2", "m c #41032CB228A2", "M c # ", "N c #492438E34103", "B c #28A A2", "V c #A E3", "C c #30C21C711040",

19 132 Linux C "Z c #30C ", "A c # ", "S c #618534D32081", "D c #38E31C711040", "F c # ", " ", ".XoO ", " +@#$%o& ", " *=-;#::o+ ", " >,<12#:34 ", " 45671#:X3 ", " +89<02qwo ", "e* >,67;ro ", "ty> 459@>+&& ", "$2u+ ><ipas8* ", "%$;=* *3:.Xa.dfg> ", "Oh$;ya *3d.a8j,Xe.d3g8+ ", " Oh$;ka *3d$a8lz,,xxc:.e3g54 ", " Oh$;kO *pd$%svbzz,sxxxxfx..&wn> ", " Oh$@mO *3dthwlsslszjzxxxxxxx3:td8M4 ", " Oh$@g& *3d$XNlvvvlllm,mNwxxxxxxxfa.:,B* ", " Oh$@,Od.czlllllzlmmqV@V#V@fxxxxxxxf:%j5& ", " Oh$1hd5lllslllCCZrV#r#:#2AxxxxxxxxxcdwM* ", " OXq6c.%8vvvllZZiqqApA:mq:Xxcpcxxxxxfdc9* ", " 2r<6gde3bllZZrVi7S@SV77A::qApxxxxxxfdcM ", " :,q-6mn.dfmzzrrss:#riirdsax@af5xxxxxfevo", " +A26jguXtAZZZC7iDiCCrVVii7Cmmmxxxxxx%3g", " *#16jszN..3DZZZZrCVSA2rZrV7Dmmwxxxx&en", " p2yfvzssxe:fczzciid7iizdidsszwwxx8e*>", " OA1<jzxwwc:$d%NDZZZZCCCZCCZZCmxxfd.B ", " 3206Bwxxszx%et.eaAp77m77mmmf3&eeeg* ", ", " *;16=lsNwwNwgsvslbwwvccc3pcfu<o ", " p;<69bvwwsszslllbblllllllu<5+ ", " OS0y6FBlvvvzvzss,u=Blllj=54 ", " c1-699blvlllllu7k96mmmg4 ", " *10y8n6FjvllllB< ", " S-kg+>666<M<996-y6n<8* ", " p71=4 m69996kd8z-66698&& ", " &i0ycm6n4 ogk17,0<6666g ", " N-k-<> >=01-kuu666> ", ",6ky& &46-10ul,66, ", " Ou0<> o66y<ulw<66& ", " *kk5 >66By7=xu664 ", " <<M4 466lj<Mxu66o ", " *>> +66uv,zN666* ", " 566,xxj669 ", " 4666FF666> ", " >966666M ", " om6668+ ", " *4 ",

20 9 133 " ", " "; /* ( d e l e t e _ e v e n t ) void close_application( GtkWidget *widget, GdkEvent *event, gpointer data ) g t k _ m a i n _ q u i t (); int main (int argc, char *argv[]) /* GtkWidget GtkWidget *window, *pixmap, *fixed; GdkPixmap *gdk_pixmap; GdkBitmap *mask; GtkStyle *style; GdkGC *gc; /* d e l e t e _ e v e n t * gtk_init (&argc, &argv); window = gtk_window_new( GTK_WINDOW_POPUP ); gtk_signal_connect (GTK_OBJECT (window), "delete_event", GTK_SIGNAL_FUNC (close_application), NULL); gtk_widget_show (window); /* p i x m a p p i x m a p style = gtk_widget_get_default_style(); gc = style->black_gc; gdk_pixmap = gdk_pixmap_create_from_xpm_d( window->window, &mask, & s t y l e - > b g [ G T K _ S T A T E _ N O R M A L ], WheelbarrowFull_xpm ); pixmap = gtk_pixmap_new( gdk_pixmap, mask ); gtk_widget_show( pixmap ); /* p i x m a p p i x m a p G t k F i x e d fixed = gtk_fixed_new(); gtk_widget_set_usize( fixed, 200, 200 ); gtk_fixed_put( GTK_FIXED(fixed), pixmap, 0, 0 ); gtk_container_add( GTK_CONTAINER(window), fixed ); gtk_widget_show( fixed ); /* gtk_widget_shape_combine_mask( window, mask, 0, 0 ); /* gtk_widget_set_uposition( window, 20, 400 ); gtk_widget_show( window ); gtk_main (); r e t u r n ( 0 ); /* b u t t o n _ p r e s s gtk_widget_set_events( window, gtk_widget_get_events( window )

21 134 Linux C GDK_BUTTON_PRESS_MASK ); gtk_signal_connect( GTK_OBJECT(window), "button_press_event", GTK_SIGNAL_FUNC(close_application), NULL ); 9.7 GtkRuler G t k R u l e r ( G t k H R u l e r G t k V R u l e r GtkWidget *gtk_hruler_new(void);/* GtkWidget *gtk_vruler_new(void);/* b e G T K _ P I X E L S G T K _ I N C H E S G T K _ C E N T I M E T E R S void gtk_ruler_set_metric( GtkRuler *ruler, GtkMetricType metric ); G T K _ P I X E L S gtk_ruler_set_metric( GTK_RULER(ruler), GTK_PIXELS ); void gtk_ruler_set_range( GtkRuler *ruler, gfloat lower, gfloat upper, gfloat position, gfloat max_size ); l o w e r u p p e r m a x _ s i z e p o s i t i o n 800 gtk_ruler_set_range( GTK_RULER(vruler), 0, 800, 0, 800); gtk_ruler_set_range( GTK_RULER(vruler), 7, 16, 0, 20); m o t i o n _ n o t i f y _ e v e n t m o t i o n _ n o t i f y _ e v e n t #define EVENT_METHOD(i, x) GTK_WIDGET_CLASS(GTK_OBJECT(i)->klass)->x gtk_signal_connect_object( GTK_OBJECT(area), "motion_notify_event", (GtkSignalFunc)EVENT_METHOD(ruler, motion_notify_event), GTK_OBJECT(ruler) );

22 9 135 G t k Ta b l e /* rulers.c #include <gtk/gtk.h> #define EVENT_METHOD(i, x) GTK_WIDGET_CLASS(GTK_OBJECT(i)->klass)->x #define XSIZE 600 #define YSIZE 400 /* " c l o s e " void close_application( GtkWidget *widget, GdkEvent *event, gpointer data ) g t k _ m a i n _ q u i t ( ) ; /* int main( int argc, char *argv[] ) GtkWidget *window, *table, *area, *hrule, *vrule; /* G T K gtk_init( &argc, &argv ); window = gtk_window_new( GTK_WINDOW_TOPLEVEL ); gtk_signal_connect (GTK_OBJECT (window), "delete_event", GTK_SIGNAL_FUNC( close_application ), NULL); gtk_container_set_border_width (GTK_CONTAINER (window), 10); /* G t k T a b l e table = gtk_table_new( 3, 2, FALSE ); gtk_container_add( GTK_CONTAINER(window), table ); area = gtk_drawing_area_new(); gtk_drawing_area_size( (GtkDrawingArea *)area, XSIZE, YSIZE ); gtk_table_attach( GTK_TABLE(table), area, 1, 2, 1, 2, GTK_EXPAND GTK_FILL, GTK_FILL, 0, 0 ); gtk_widget_set_events( area, GDK_POINTER_MOTION_MASK GDK_POINTER_MOTION_HINT_MASK ); /* * motion_notify_event hrule = gtk_hruler_new(); gtk_ruler_set_metric( GTK_RULER(hrule), GTK_PIXELS ); gtk_ruler_set_range( GTK_RULER(hrule), 7, 13, 0, 20 ); gtk_signal_connect_object( GTK_OBJECT(area), "motion_notify_event", ( G t k S i g n a l F u n c ) E V E N T _ M E T H O D ( h r u l e, m o t i o n _ n o t i f y _ e v e n t ), GTK_OBJECT(hrule) ); /* GTK_WIDGET_CLASS(GTK_OBJECT(hrule)->klass)->motion_notify_event,

23 136 Linux C gtk_table_attach( GTK_TABLE(table), hrule, 1, 2, 0, 1, GTK_EXPAND GTK_SHRINK GTK_FILL, GTK_FILL, 0, 0 ); /* * motion_notify_event vrule = gtk_vruler_new(); gtk_ruler_set_metric( GTK_RULER(vrule), GTK_PIXELS ); gtk_ruler_set_range( GTK_RULER(vrule), 0, YSIZE, 10, YSIZE ); gtk_signal_connect_object( GTK_OBJECT(area), "motion_notify_event", ( G t k S i g n a l F u n c ) G T K _ W I D G E T _ C L A S S ( G T K _ O B J E C T ( v r u l e )- > k l a s s )- > m o t i o n _ n o t i f y _ e v e n t, GTK_OBJECT(vrule) ); gtk_table_attach( GTK_TABLE(table), vrule, 0, 1, 1, 2, GTK_FILL, GTK_EXPAND GTK_SHRINK GTK_FILL, 0, 0 ); /* gtk_widget_show( area ); gtk_widget_show( hrule ); gtk_widget_show( vrule ); gtk_widget_show( table ); gtk_widget_show( window ); g t k _ m a i n (); r e t u r n ( 0 ); /* r u l e r s. c M a k e f i l e CC = gcc rulers: rulers.c $(CC) `gtk-config --cflags` rulers.c -o rulers \ `gtk-config --libs` clean: rm -f *.o rulers

24 GtkEntry G t k E n t r y ( GtkWidget *gtk_entry_new(void); GtkWidget *gtk_entry_new_with_max_length( guint16 max); m a x void gtk_entry_set_text( GtkEntry *entry, const gchar *text ); void gtk_entry_append_text( GtkEntry *entry, const gchar *text ); void gtk_entry_prepend_text( GtkEntry *entry, const gchar *text g t k _ e n t r y _ s e t _ t e x t g t k _ e n t r y _ a p p e n d _ t e x t g t k _ e n t r y _ p r e p e n d _ t e x t void gtk_entry_set_position( GtkEntry *entry, gint position ); gchar *gtk_entry_get_text( GtkEntry *entry ); f r e e () g _ f r e e () void gtk_entry_set_editable( GtkEntry *entry, gboolean editable ); e d i t a b l e T R U E FA L S E v i s i b l e T R U E FA L S E void gtk_entry_set_visibility( GtkEntry *entry, gboolean visible ); void gtk_entry_select_region( GtkEntry *entry, gint start, gint end ); a c t i v a t e c h a n g e d a c t i v a t e c h a n g e d

25 138 Linux C /* entry.c #include <gtk/gtk.h> void enter_callback(gtkwidget *widget, GtkWidget *entry) gchar *entry_text; entry_text = gtk_entry_get_text(gtk_entry(entry)); printf("entry contents: %s\n", entry_text); void entry_toggle_editable (GtkWidget *checkbutton, GtkWidget *entry) g t k _ e n t r y _ s e t _ e d i t a b l e ( G T K _ E N T R Y ( e n t r y ), G T K _ T O G G L E _ B U T T O N ( c h e c k b u t t o n )- > a c t i v e ); void entry_toggle_visibility (GtkWidget *checkbutton, GtkWidget *entry) g t k _ e n t r y _ s e t _ v i s i b i l i t y ( G T K _ E N T R Y ( e n t r y ), G T K _ T O G G L E _ B U T T O N ( c h e c k b u t t o n )- > a c t i v e ); int main (int argc, char *argv[]) GtkWidget *window; GtkWidget *vbox, *hbox; GtkWidget *entry; GtkWidget *button; GtkWidget *check; gtk_init (&argc, &argv); /* window = gtk_window_new(gtk_window_toplevel); gtk_widget_set_usize( GTK_WIDGET (window), 200, 100); gtk_window_set_title(gtk_window (window), "GTK Entry"); gtk_signal_connect(gtk_object (window), "delete_event", (GtkSignalFunc) gtk_exit, NULL); vbox = gtk_vbox_new (FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_widget_show (vbox); entry = gtk_entry_new_with_max_length (50); gtk_signal_connect(gtk_object(entry), "activate", G T K _ S I G N A L _ F U N C ( e n t e r _ c a l l b a c k ), e n t r y ); gtk_entry_set_text (GTK_ENTRY (entry), "hello"); gtk_entry_append_text (GTK_ENTRY (entry), " world"); gtk_entry_select_region (GTK_ENTRY (entry), 0, GTK_ENTRY(entry)->text_length);

26 9 139 gtk_box_pack_start (GTK_BOX (vbox), entry, TRUE, TRUE, 0); gtk_widget_show (entry); hbox = gtk_hbox_new (FALSE, 0); gtk_container_add (GTK_CONTAINER (vbox), hbox); gtk_widget_show (hbox); check = gtk_check_button_new_with_label("editable"); gtk_box_pack_start (GTK_BOX (hbox), check, TRUE, TRUE, 0); gtk_signal_connect (GTK_OBJECT(check), "toggled", G T K _ S I G N A L _ F U N C ( e n t r y _ t o g g l e _ e d i t a b l e ), e n t r y ); gtk_toggle_button_set_active(gtk_toggle_button(check), TRUE); gtk_widget_show (check); check = gtk_check_button_new_with_label("visible"); gtk_box_pack_start (GTK_BOX (hbox), check, TRUE, TRUE, 0); gtk_signal_connect (GTK_OBJECT(check), "toggled", G T K _ S I G N A L _ F U N C ( e n t r y _ t o g g l e _ v i s i b i l i t y ), e n t r y ); gtk_toggle_button_set_active(gtk_toggle_button(check), TRUE); gtk_widget_show (check); button = gtk_button_new_with_label ("Close"); gtk_signal_connect_object (GTK_OBJECT (button), "clicked", G T K _ S I G N A L _ F U N C ( g t k _ e x i t ), GTK_OBJECT (window)); gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 0); GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT); gtk_widget_grab_default (button); gtk_widget_show (button); g t k _ w i d g e t _ s h o w ( w i n d o w ); g t k _ m a i n (); r e t u r n ( 0 ) ; /* e n t r y. c M a k e f i l e CC = gcc entry: entry.c $(CC) `gtk-config --cflags` entry.c -o \ entry `gtk-config --libs` clean: rm -f *.o entry s h e l l./ e n t r y 9-5 E d i t a b l e Vi s i b l e 9-5 GtkEntry

27 140 Linux C 9.9 GtkSpinButton G t k S p i n B u t t o n ( GtkObject *gtk_adjustment_new( gfloat value, gfloat lower, gfloat upper, gfloat step_increment, gfloat page_increment, gfloat page_size ); value: lower: upper: step_increment: / page_increment: / page_size: l o w e r u p p e r GtkWidget *gtk_spin_button_new( GtkAdjustment *adjustment, gfloat climb_rate, guint digits ); c l i m b _ r a t e d i g i t s void gtk_spin_button_configure( GtkSpinButton *spin_button, GtkAdjustment *adjustment, gfloat climb_rate, guint digits ); s p i n _ b u t t o n void gtk_spin_button_set_adjustment( GtkSpinButton *spin_button, GtkAdjustment *adjustment ); GtkAdjustment adjustment( GtkSpinButton *spin_button );

28 9 141 d i g i t s void gtk_spin_button_set_digits( GtkSpinButton *spin_button, guint digits) ; void gtk_spin_button_set_value( GtkSpinButton *spin_button, gfloat value ); gfloat gtk_spin_button_get_value_as_float( GtkSpinButton *spin_button ); gint gtk_spin_button_get_value_as_int( GtkSpinButton *spin_button ); void gtk_spin_button_spin( GtkSpinButton *spin_button, GtkSpinType direction, gfloat increment ); d i r e c t i o n G T K _ S P I N _ S T E P _ F O RWA R D G T K _ S P I N _ S T E P _ B A C K WA R D G T K _ S P I N _ PA G E _ F O RWA R D G T K _ S P I N _ PA G E _ B A C K WA R D G T K _ S P I N _ H O M E G T K _ S P I N _ E N D G T K _ S P I N _ U S E R _ D E F I N E D G T K _ S P I N _ S T E P _ F O RWA R D G T K _ S P I N _ S T E P _ B A C K WA R D i n c r e m e n t i n c r e m e n t 0 s t e p _ i n c r e m e n t G T K _ S P I N _ PA G E _ F O RWA R D G T K _ S P I N _ PA G E _ B A C K WA R D i n c r e m e n t G T K _ S P I N _ H O M E GTK_SPIN_END GTK_SPIN_USER_DEFINED void gtk_spin_button_set_numeric( GtkSpinButton *spin_button, gboolean numeric ); u p p e r l o w e r w r a p T R U E FA L S E void gtk_spin_button_set_wrap( GtkSpinButton *spin_button, gboolean wrap );

29 142 Linux C s t e p _ i n c r e m e n t void gtk_spin_button_set_snap_to_ticks( GtkSpinButton *spin_button, gboolean snap_to_ticks ); void gtk_spin_button_set_update_policy( GtkSpinButton *spin_button, GtkSpinButtonUpdatePolicy policy ); p o l i c y G T K _ U P D AT E _ A LWAY S G T K _ U P D AT E _ I F _ VA L I D p o l i c y G T K _ U P D AT E _ I F _ VA L I D p o l i c y G T K _ U P D AT E _ A LWAY S void gtk_spin_button_set_shadow_type( GtkSpinButton *spin_button, GtkShadowType shadow_type ); s h a d o w _ t y p e G T K _ S H A D O W _ I N G T K _ S H A D O W _ O U T G T K _ S H A D O W _ E T C H E D _ I N G T K _ S H A D O W _ E T C H E D _ O U T void gtk_spin_button_update( GtkSpinButton *spin_button ); /* spinbutton.c #include <gtk/gtk.h> static GtkWidget *spinner1; void toggle_snap( GtkWidget *widget, GtkSpinButton *spin ) gtk_spin_button_set_snap_to_ticks (spin, GTK_TOGGLE_BUTTON (widget)->active); void toggle_numeric( GtkWidget *widget, GtkSpinButton *spin ) gtk_spin_button_set_numeric (spin, GTK_TOGGLE_BUTTON (widget)->active); void change_digits( GtkWidget *widget, GtkSpinButton *spin )

30 9 143 gtk_spin_button_set_digits (GTK_SPIN_BUTTON (spinner1), gtk_spin_button_get_value_as_int (spin)); void get_value( GtkWidget *widget, gpointer data ) gchar buf[32]; GtkLabel *label; GtkSpinButton *spin; spin = GTK_SPIN_BUTTON (spinner1); label = GTK_LABEL (gtk_object_get_user_data (GTK_OBJECT (widget))); if (GPOINTER_TO_INT (data) == 1) sprintf (buf, "%d", gtk_spin_button_get_value_as_int (spin)); e l s e sprintf (buf, "%0.*f", spin->digits, gtk_spin_button_get_value_as_float (spin)); gtk_label_set_text (label, buf); int main( int argc, char *argv[] ) GtkWidget *window; GtkWidget *frame; GtkWidget *hbox; GtkWidget *main_vbox; GtkWidget *vbox; GtkWidget *vbox2; GtkWidget *spinner2; GtkWidget *spinner; GtkWidget *button; GtkWidget *label; GtkWidget *val_label; GtkAdjustment *adj; /* GTK gtk_init(&argc, &argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC (gtk_main_quit), N U L L ); gtk_window_set_title (GTK_WINDOW (window), "Spin Button"); main_vbox = gtk_vbox_new (FALSE, 5); gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 10);

31 144 Linux C gtk_container_add (GTK_CONTAINER (window), main_vbox); frame = gtk_frame_new ("Not accelerated"); gtk_box_pack_start (GTK_BOX (main_vbox), frame, TRUE, TRUE, 0); vbox = gtk_vbox_new (FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); gtk_container_add (GTK_CONTAINER (frame), vbox); /* hbox = gtk_hbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 5); vbox2 = gtk_vbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5); label = gtk_label_new ("Day :"); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0); adj = (GtkAdjustment *) gtk_adjustment_new (1.0, 1.0, 31.0, 1.0, 5.0, 0.0); spinner = gtk_spin_button_new (adj, 0, 0); gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spinner), TRUE); gtk_spin_button_set_shadow_type (GTK_SPIN_BUTTON (spinner), G T K _ S H A D O W _ O U T ); gtk_box_pack_start (GTK_BOX (vbox2), spinner, FALSE, TRUE, 0); vbox2 = gtk_vbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5); label = gtk_label_new ("Month :"); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0); adj = (GtkAdjustment *) gtk_adjustment_new (1.0, 1.0, 12.0, 1.0, 5.0, 0.0); spinner = gtk_spin_button_new (adj, 0, 0); gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spinner), TRUE); gtk_spin_button_set_shadow_type (GTK_SPIN_BUTTON (spinner), G T K _ S H A D O W _ E T C H E D _ I N ); gtk_box_pack_start (GTK_BOX (vbox2), spinner, FALSE, TRUE, 0); vbox2 = gtk_vbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5); label = gtk_label_new ("Year :"); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0); adj = (GtkAdjustment *) gtk_adjustment_new (1998.0, 0.0, , 1.0, 100.0, 0.0);

32 9 145 spinner = gtk_spin_button_new (adj, 0, 0); gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spinner), FALSE); gtk_spin_button_set_shadow_type (GTK_SPIN_BUTTON (spinner), G T K _ S H A D O W _ I N ); gtk_widget_set_usize (spinner, 55, 0); gtk_box_pack_start (GTK_BOX (vbox2), spinner, FALSE, TRUE, 0); frame = gtk_frame_new ("Accelerated"); gtk_box_pack_start (GTK_BOX (main_vbox), frame, TRUE, TRUE, 0); vbox = gtk_vbox_new (FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); gtk_container_add (GTK_CONTAINER (frame), vbox); hbox = gtk_hbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 5); vbox2 = gtk_vbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5); label = gtk_label_new ("Value :"); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0); adj = (GtkAdjustment *) gtk_adjustment_new (0.0, , , 0.5, 100.0, 0.0); spinner1 = gtk_spin_button_new (adj, 1.0, 2); gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spinner1), TRUE); gtk_widget_set_usize (spinner1, 100, 0); gtk_box_pack_start (GTK_BOX (vbox2), spinner1, FALSE, TRUE, 0); vbox2 = gtk_vbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5); label = gtk_label_new ("Digits :"); gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0); adj = (GtkAdjustment *) gtk_adjustment_new (2, 1, 5, 1, 1, 0); spinner2 = gtk_spin_button_new (adj, 0.0, 0); gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spinner2), TRUE); gtk_signal_connect (GTK_OBJECT (adj), "value_changed", GTK_SIGNAL_FUNC (change_digits), (gpointer) spinner2); gtk_box_pack_start (GTK_BOX (vbox2), spinner2, FALSE, TRUE, 0); hbox = gtk_hbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 5); button = gtk_check_button_new_with_label ("Snap to 0.5-ticks"); gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (toggle_snap),

33 146 Linux C s p i n n e r 1 ); gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE); button = gtk_check_button_new_with_label ("Numeric only input mode"); gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (toggle_numeric), s p i n n e r 1 ); gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE); val_label = gtk_label_new (""); hbox = gtk_hbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 5); button = gtk_button_new_with_label ("Value as Int"); gtk_object_set_user_data (GTK_OBJECT (button), val_label); gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (get_value), GINT_TO_POINTER (1)); gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 5); button = gtk_button_new_with_label ("Value as Float"); gtk_object_set_user_data (GTK_OBJECT (button), val_label); gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (get_value), GINT_TO_POINTER (2)); gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 5); gtk_box_pack_start (GTK_BOX (vbox), val_label, TRUE, TRUE, 0); gtk_label_set_text (GTK_LABEL (val_label), "0"); hbox = gtk_hbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, TRUE, 0); button = gtk_button_new_with_label ("Close"); gtk_signal_connect_object (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (gtk_widget_destroy), GTK_OBJECT (window)); gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 5 ); gtk_widget_show_all (window); /* Enter the event loop gtk_main (); r e t u r n ( 0 ); /* GtkCombo 9-6 G t k C o m b o (

34 9 147 struct _GtkCombo GtkHBox hbox; GtkWidget *entry; GtkWidget *button; GtkWidget *popup; GtkWidget *popwin; GtkWidget *list;... ; GtkWidget *gtk_combo_new( void ); gtk_entry_set_text(gtk_entry(gtk_combo(combo)->entry), "My String."); void gtk_combo_set_popdown_strings( GtkCombo *combo, GList *strings ); G L i s t G l i s t G l i b G l i s t N U L L GList *g_list_append( GList *glist, gpointer data ); G l i s t N U L L g _ l i s t _ a p p e n d GList *glist=null; glist = g_list_append(glist, "String 1"); glist = g_list_append(glist, "String 2"); glist = g_list_append(glist, "String 3"); glist = g_list_append(glist, "String 4"); gtk_combo_set_popdown_strings( GTK_COMBO(combo), glist) ; void gtk_combo_set_use_arrows( GtkCombo *combo, gint val ); void gtk_combo_set_use_arrows_always( GtkCombo *combo, gint val ); void gtk_combo_set_case_sensitive( GtkCombo *combo, gint val );

35 148 Linux C g t k _ c o m b o _ s e t _ u s e _ a r r o w s () / / TA B ( ) g t k _ c o m b o _ s e t _ u s e _ a r r o w s () g t k _ c o m b o _ s e t _ u s e _ a r r o w s _ a l w a y s () / g t k _ c o m b o _ s e t _ c a s e _ s e n s i t i v e () G T K A l t Ta b G T K G T K _ E N T RY ( G T K _ C O M B O ( c o m b o )- > e n t r y ) a c t i v a t e gtk_signal_connect(gtk_object(gtk_comb(combo)->entry), "activate", GTK_SIGNAL_FUNC (my_callback_function), my_data); gchar *gtk_entry_get_text(gtkentry *entry); char *string; string = gtk_entry_get_text(gtk_entry(gtk_combo(combo)->entry)); void gtk_combo_disable_activate(gtkcombo *combo); G t k E n t r y a c t i v a t e 9.11 GtkCalendar G t k C a l e n d a r ( G t k C a l e n d a r 2000 GtkWidget *gtk_calendar_new();

36 9 149 void gtk_calendar_freeze( GtkCalendar *Calendar ); void gtk_calendar_thaw ( GtkCalendar *Calendar ); G t k Te x t / void gtk_calendar_display_options( GtkCalendar *calendar, GtkCalendarDisplayOptions flags ); f l a g s G T K _ C A L E N D A R _ S H O W _ H E A D I N G G T K _ C A L E N D A R _ S H O W _ D AY _ N A M E S M O N T U E G T K _ C A L E N D A R _ N O _ M O N T H _ C H A N G E 12 G T K _ C A L E N D A R _ S H O W _ W E E K _ N U M B E R S G T K _ C A L E N D A R _ W E E K _ S TA RT _ M O N D AY gint gtk_calendar_select_month( GtkCalendar *calendar, guint month, guint year ); void gtk_calendar_select_day( GtkCalendar *calendar, guint day ); g t k _ c a l e n d a r _ s e l e c t _ m o n t h ( ) 31 FA L S E g t k _ c a l e n d a r _ s e l e c t _ d a y () d a y d a y 0 gint gtk_calendar_mark_day( GtkCalendar *calendar, guint day); gint gtk_calendar_unmark_day( GtkCalendar *calendar, guint day);

37 150 Linux C void gtk_calendar_clear_marks( GtkCalendar *calendar); G t k C a l e n d a r 31 ( C 0 ) GtkCalendar *calendar; calendar = gtk_calendar_new();... /* 7 if (calendar->marked_date[7-1]) /* 7 / / void gtk_calendar_get_date( GtkCalendar *calendar, guint *year, guint *month, guint *day ); g u i n t y e a r m o n t h d a y N U L L month_changed /* day_selected /* day_selected_double_click /* prev_month /* next_month /* prev_year /* next_year /* /* calendar.c #include <gtk/gtk.h> #include <stdio.h> #include <string.h> #include <time.h> #define DEF_PAD 10 #define DEF_PAD_SMALL 5 #define TM_YEAR_BASE 1900 typedef struct _CalendarData GtkWidget *flag_checkboxes[5]; gboolean settings[5]; gchar *font; GtkWidget *font_dialog; GtkWidget *window;

38 9 151 GtkWidget *prev2_sig; GtkWidget *prev_sig; GtkWidget *last_sig; GtkWidget *month; CalendarData; enum c a l e n d a r _ s h o w _ h e a d e r, c a l e n d a r _ s h o w _ d a y s, calendar_month_change, c a l e n d a r _ s h o w _ w e e k, c a l e n d a r _ m o n d a y _ f i r s t ; / * * GtkCalendar * / void calendar_date_to_string( CalendarData *data, char *buffer, gint buff_len ) struct tm tm; time_t time; memset (&tm, 0, sizeof (tm)); gtk_calendar_get_date (GTK_CALENDAR(data->window), &tm.tm_year, &tm.tm_mon, &tm.tm_mday); tm.tm_year -= TM_YEAR_BASE; time = mktime(&tm); strftime (buffer, buff_len-1, "%x", gmtime(&time)); void calendar_set_signal_strings( char *sig_str, CalendarData *data) gchar *prev_sig; gtk_label_get (GTK_LABEL (data->prev_sig), &prev_sig); gtk_label_set (GTK_LABEL (data->prev2_sig), prev_sig); gtk_label_get (GTK_LABEL (data->last_sig), &prev_sig); gtk_label_set (GTK_LABEL (data->prev_sig), prev_sig); gtk_label_set (GTK_LABEL (data->last_sig), sig_str); void calendar_month_changed( GtkWidget *widget, CalendarData *data ) char buffer[256] = "month_changed: ";

39 152 Linux C calendar_date_to_string (data, buffer+15, ); calendar_set_signal_strings (buffer, data); void calendar_day_selected( GtkWidget *widget, CalendarData *data ) char buffer[256] = "day_selected: "; calendar_date_to_string (data, buffer+14, ); calendar_set_signal_strings (buffer, data); void calendar_day_selected_double_click( GtkWidget *widget, CalendarData *data ) struct tm tm; char buffer[256] = "day_selected_double_click: "; calendar_date_to_string (data, buffer+27, ); calendar_set_signal_strings (buffer, data); memset (&tm, 0, sizeof (tm)); gtk_calendar_get_date (GTK_CALENDAR(data->window), &tm.tm_year, &tm.tm_mon, &tm.tm_mday); tm.tm_year -= TM_YEAR_BASE; if(gtk_calendar(data->window)->marked_date[tm.tm_mday-1] == 0) g t k _ c a l e n d a r _ m a r k _ d a y ( G T K _ C A L E N D A R ( d a t a - > w i n d o w ), t m. t m _ m d a y ); else g t k _ c a l e n d a r _ u n m a r k _ d a y ( G T K _ C A L E N D A R ( d a t a - > w i n d o w ), t m. t m _ m d a y ); void calendar_prev_month( GtkWidget *widget, CalendarData *data ) char buffer[256] = "prev_month: "; calendar_date_to_string (data, buffer+12, ); calendar_set_signal_strings (buffer, data); void calendar_next_month( GtkWidget *widget, CalendarData *data ) char buffer[256] = "next_month: "; calendar_date_to_string (data, buffer+12, ); calendar_set_signal_strings (buffer, data);

40 9 153 void calendar_prev_year( GtkWidget *widget, CalendarData *data ) char buffer[256] = "prev_year: "; calendar_date_to_string (data, buffer+11, ); calendar_set_signal_strings (buffer, data); void calendar_next_year( GtkWidget *widget, CalendarData *data ) char buffer[256] = "next_year: "; calendar_date_to_string (data, buffer+11, ); calendar_set_signal_strings (buffer, data); void calendar_set_flags( CalendarData *calendar ) gint i; gint options=0; for (i=0;i<5;i++) if (calendar->settings[i]) options=options + (1<<i); if (calendar->window) gtk_calendar_display_options (GTK_CALENDAR (calendar->window), options); void calendar_toggle_flag( GtkWidget *toggle, CalendarData *calendar ) gint i; gint j; j = 0 ; for (i=0; i<5; i++) if (calendar->flag_checkboxes[i] == toggle) j = i; c a l e n d a r - > s e t t i n g s [ j ] =! c a l e n d a r - > s e t t i n g s [ j ]; c a l e n d a r _ s e t _ f l a g s ( c a l e n d a r ); void calendar_font_selection_ok( GtkWidget *button, CalendarData *calendar ) GtkStyle *style; GdkFont *font;

41 154 Linux C calendar->font = gtk_font_selection_dialog_get_font_name( GTK_FONT_SELECTION_DIALOG (calendar->font_dialog)); if (calendar->window) f o n t = g t k _ f o n t _ s e l e c t i o n _ d i a l o g _ g e t _ f o n t ( G T K _ F O N T _ S E L E C T I O N _ D I A L O G ( c a l e n d a r - > f o n t _ d i a l o g )); if (font) style = gtk_style_copy (gtk_widget_get_style (calendar->window)); gdk_font_unref (style->font); style->font = font; gdk_font_ref (style->font); gtk_widget_set_style (calendar->window, style); void calendar_select_font( GtkWidget *button, CalendarData *calendar ) GtkWidget *window; if (!calendar->font_dialog) window = gtk_font_selection_dialog_new ("Font Selection Dialog"); g _ r e t u r n _ i f _ f a i l ( G T K _ I S _ F O N T _ S E L E C T I O N _ D I A L O G ( w i n d o w )); calendar->font_dialog = window; gtk_window_position (GTK_WINDOW (window), GTK_WIN_POS_MOUSE); gtk_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC (gtk_widget_destroyed), & c a l e n d a r - > f o n t _ d i a l o g ); gtk_signal_connect (GTK_OBJECT (GTK_FONT_SELECTION_DIALOG (window)- > o k _ b u t t o n ), "clicked", GTK_SIGNAL_FUNC(calendar_font_selection_ok), c a l e n d a r ); gtk_signal_connect_object (GTK_OBJECT (GTK_FONT_SELECTION_DIALOG (window)- > c a n c e l _ b u t t o n ), " c l i c k e d ", GTK_SIGNAL_FUNC (gtk_widget_destroy), GTK_OBJECT (calendar->font_dialog)); w i n d o w = c a l e n d a r - > f o n t _ d i a l o g ; if (!GTK_WIDGET_VISIBLE (window)) gtk_widget_show (window); e l s e gtk_widget_destroy (window); void create_calendar()

42 9 155 GtkWidget *window; GtkWidget *vbox, *vbox2, *vbox3; GtkWidget *hbox; GtkWidget *hbbox; GtkWidget *calendar; GtkWidget *toggle; GtkWidget *button; GtkWidget *frame; GtkWidget *separator; GtkWidget *label; GtkWidget *bbox; static CalendarData calendar_data; gint i; struct char *label; flags[] = "Show Heading", "Show Day Names", "No Month Change", "Show Week Numbers", "Week Start Monday" ; calendar_data.window = NULL; calendar_data.font = NULL; calendar_data.font_dialog = NULL; for (i=0; i<5; i++) c a l e n d a r _ d a t a. s e t t i n g s [ i ] = 0 ; window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title(gtk_window(window), "GtkCalendar Example"); gtk_container_border_width (GTK_CONTAINER (window), 5); gtk_signal_connect(gtk_object(window), "destroy", G T K _ S I G N A L _ F U N C ( g t k _ m a i n _ q u i t ), N U L L ); gtk_signal_connect(gtk_object(window), "delete-event", G T K _ S I G N A L _ F U N C ( g t k _ f a l s e ), N U L L ); gtk_window_set_policy(gtk_window(window), FALSE, FALSE, TRUE); vbox = gtk_vbox_new(false, DEF_PAD); gtk_container_add (GTK_CONTAINER (window), vbox); /*

43 156 Linux C * f l a g s * / hbox = gtk_hbox_new(false, DEF_PAD); gtk_box_pack_start (GTK_BOX(vbox), hbox, TRUE, TRUE, DEF_PAD); hbbox = gtk_hbutton_box_new(); gtk_box_pack_start(gtk_box(hbox), hbbox, FALSE, FALSE, DEF_PAD); gtk_button_box_set_layout(gtk_button_box(hbbox), (GTK_BUTTONBOX_SPREAD); gtk_button_box_set_spacing(gtk_button_box(hbbox), 5); /* frame = gtk_frame_new("calendar"); gtk_box_pack_start(gtk_box(hbbox), frame, FALSE, TRUE, DEF_PAD); c a l e n d a r = g t k _ c a l e n d a r _ n e w (); calendar_data.window = calendar; c a l e n d a r _ s e t _ f l a g s (& c a l e n d a r _ d a t a ); gtk_calendar_mark_day ( GTK_CALENDAR(calendar), 19); gtk_container_add( GTK_CONTAINER( frame), calendar); gtk_signal_connect (GTK_OBJECT (calendar), "month_changed", GTK_SIGNAL_FUNC (calendar_month_changed), & c a l e n d a r _ d a t a ); gtk_signal_connect (GTK_OBJECT (calendar), "day_selected", GTK_SIGNAL_FUNC (calendar_day_selected), & c a l e n d a r _ d a t a ); gtk_signal_connect (GTK_OBJECT (calendar), "day_selected_double_click", GTK_SIGNAL_FUNC (calendar_day_selected_double_click), & c a l e n d a r _ d a t a ); gtk_signal_connect (GTK_OBJECT (calendar), "prev_month", GTK_SIGNAL_FUNC (calendar_prev_month), & c a l e n d a r _ d a t a ); gtk_signal_connect (GTK_OBJECT (calendar), "next_month", GTK_SIGNAL_FUNC (calendar_next_month), & c a l e n d a r _ d a t a ); gtk_signal_connect (GTK_OBJECT (calendar), "prev_year", GTK_SIGNAL_FUNC (calendar_prev_year), & c a l e n d a r _ d a t a ); gtk_signal_connect (GTK_OBJECT (calendar), "next_year", GTK_SIGNAL_FUNC (calendar_next_year), & c a l e n d a r _ d a t a ); separator = gtk_vseparator_new (); gtk_box_pack_start (GTK_BOX (hbox), separator, FALSE, TRUE, 0); vbox2 = gtk_vbox_new(false, DEF_PAD); gtk_box_pack_start(gtk_box(hbox), vbox2, FALSE, FALSE, DEF_PAD); frame = gtk_frame_new("flags"); gtk_box_pack_start(gtk_box(vbox2), frame, TRUE, TRUE, DEF_PAD); vbox3 = gtk_vbox_new(true, DEF_PAD_SMALL); gtk_container_add(gtk_container(frame), vbox3);

44 9 157 for (i = 0; i < 5; i++) toggle = gtk_check_button_new_with_label(flags[i].label); gtk_signal_connect (GTK_OBJECT (toggle), " t o g g l e d ", G T K _ S I G N A L _ F U N C ( c a l e n d a r _ t o g g l e _ f l a g ), & c a l e n d a r _ d a t a ); gtk_box_pack_start (GTK_BOX (vbox3), toggle, TRUE, TRUE, 0); c a l e n d a r _ d a t a. f l a g _ c h e c k b o x e s [ i ] = t o g g l e ; /* button = gtk_button_new_with_label("font..."); gtk_signal_connect (GTK_OBJECT (button), " c l i c k e d ", G T K _ S I G N A L _ F U N C ( c a l e n d a r _ s e l e c t _ f o n t ), & c a l e n d a r _ d a t a ); gtk_box_pack_start (GTK_BOX (vbox2), button, FALSE, FALSE, 0); frame = gtk_frame_new("signal events"); gtk_box_pack_start(gtk_box(vbox), frame, TRUE, TRUE, DEF_PAD); vbox2 = gtk_vbox_new(true, DEF_PAD_SMALL); gtk_container_add(gtk_container(frame), vbox2); hbox = gtk_hbox_new (FALSE, 3); gtk_box_pack_start (GTK_BOX (vbox2), hbox, FALSE, TRUE, 0); label = gtk_label_new ("Signal:"); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); calendar_data.last_sig = gtk_label_new (""); gtk_box_pack_start (GTK_BOX (hbox), calendar_data.last_sig, FALSE, TRUE, 0); hbox = gtk_hbox_new (FALSE, 3); gtk_box_pack_start (GTK_BOX (vbox2), hbox, FALSE, TRUE, 0); label = gtk_label_new ("Previous signal:"); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); calendar_data.prev_sig = gtk_label_new (""); gtk_box_pack_start (GTK_BOX (hbox), calendar_data.prev_sig, FALSE, TRUE, 0); 0 ) ; hbox = gtk_hbox_new (FALSE, 3); gtk_box_pack_start (GTK_BOX (vbox2), hbox, FALSE, TRUE, 0); label = gtk_label_new ("Second previous signal:"); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); calendar_data.prev2_sig = gtk_label_new (""); gtk_box_pack_start (GTK_BOX (hbox), calendar_data.prev2_sig, FALSE, TRUE, bbox = gtk_hbutton_box_new (); gtk_box_pack_start (GTK_BOX (vbox), bbox, FALSE, FALSE, 0); gtk_button_box_set_layout(gtk_button_box(bbox), GTK_BUTTONBOX_END); button = gtk_button_new_with_label ("Close");

45 158 Linux C gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (gtk_main_quit), N U L L ); gtk_container_add (GTK_CONTAINER (bbox), button); GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT); gtk_widget_grab_default (button); g t k _ w i d g e t _ s h o w _ a l l ( w i n d o w ) ; int main(int argc, char *argv[] ) gtk_set_locale (); gtk_init (&argc, &argv); c r e a t e _ c a l e n d a r ( ) ; g t k _ m a i n ( ) ; r e t u r n ( 0 ); /* 9-7 F l a g s F o n t GtkCalendar 9.12 GtkColorSelect G t k C o l o r S e l e c t ( R G B H S V

46 9 159 G t k S l i d e r / / c o l o r _ c h a n g e d g t k _ c o l o r _ s e l e c t i o n _ s e t _ c o l o r () g t k _ c o l o r _ s e l e c t i o n g t k _ c o l o r _ s e l e c t i o n _ d i a l o g GtkWidget *gtk_color_selection_new( void ); G t k V B o x GtkWidget *gtk_color_selection_dialog_new( const gchar *title ); G t k H B o x O k C a n c e l H e l p o k _ b u t t o n c a n c e l _ b u t t o n h e l p _ b u t t o n G T K _ C O L O R _ S E L E C T I O N _ D I A L O G ( c o l o r s e l d i a l o g ) - > o k _ b u t t o n ) void gtk_color_selection_set_update_policy( GtkColorSelection *colorsel, GtkUpdateType policy ); G T K _ U P D AT E _ C O N T I N U O U S / G T K _ U P D AT E _ D I S C O N T I N U O U S G T K _ U P D AT E _ D E L AY E D void gtk_color_selection_set_opacity( GtkColorSelection *colorsel, gint use_opacity ); ( a l p h a ) u s e _ o p a c i t y T R U E u s e _ o p a c i t y FA L S E void gtk_color_selection_set_color( GtkColorSelection *colorsel, gdouble *color ); c o l o r g d o u b l e ( g t k _ c o l o r _ s e l e c t i o n _ s e t _ o p a c i t y () ) void gtk_color_selection_get_color( GtkColorSelection *colorsel, gdouble *color ); c o l o r _ c h a n g e d c o l o r

47 160 Linux C /* colorsel.c #include <glib.h> #include <gdk/gdk.h> #include <gtk/gtk.h> GtkWidget *colorseldlg = NULL; GtkWidget *drawingarea = NULL; /* void color_changed_cb (GtkWidget *widget, GtkColorSelection *colorsel) gdouble color[3]; GdkColor gdk_color; GdkColormap *colormap; /* colormap = gdk_window_get_colormap (drawingarea->window); /* gtk_color_selection_get_color (colorsel,color); /* 16 ( ) * G d k C o l o r gdk_color.red = (guint16)(color[0]* ); gdk_color.green = (guint16)(color[1]* ); gdk_color.blue = (guint16)(color[2]* ); /* gdk_color_alloc (colormap, &gdk_color); /* gdk_window_set_background (drawingarea->window, &gdk_color); /* gdk_window_clear (drawingarea->window); /* gint area_event (GtkWidget *widget, GdkEvent *event, gpointer client_data) gint handled = FALSE; GtkWidget *colorsel; /* if (event->type == GDK_BUTTON_PRESS && colorseldlg == NULL)

48 9 161 /* handled = TRUE; /* colorseldlg = gtk_color_selection_dialog_new("select background color"); /* colorsel = GTK_COLOR_SELECTION_DIALOG(colorseldlg)->colorsel; /* " c o l o r _ c h a n g e d " * gtk_signal_connect(gtk_object(colorsel), "color_changed", (GtkSignalFunc)color_changed_cb, (gpointer)colorsel); /* g t k _ w i d g e t _ s h o w ( c o l o r s e l d l g ) ; return handled; /* void destroy_window (GtkWidget *widget, gpointer client_data) gtk_main_quit (); /* gint main (gint argc, gchar *argv[]) GtkWidget *window; /* GTK gtk_init (&argc,&argv); /* window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW(window), "Color selection test"); gtk_window_set_policy (GTK_WINDOW(window), TRUE, TRUE, TRUE); /* " d e l e t e " " d e s t r o y " gtk_signal_connect (GTK_OBJECT(window), "delete_event", (GtkSignalFunc)destroy_window, (gpointer)window); gtk_signal_connect (GTK_OBJECT(window), "destroy", (GtkSignalFunc)destroy_window, (gpointer)window); /* drawingarea = gtk_drawing_area_new ();

49 162 Linux C gtk_drawing_area_size (GTK_DRAWING_AREA(drawingarea), 200, 200); gtk_widget_set_events (drawingarea, GDK_BUTTON_PRESS_MASK); gtk_signal_connect (GTK_OBJECT(drawingarea), "event", (GtkSignalFunc)area_event, (gpointer)drawingarea); /* gtk_container_add (GTK_CONTAINER(window), drawingarea); gtk_widget_show (drawingarea); gtk_widget_show (window); /* gtk_main (); r e t u r n ( 0 ); /* GtkFileSelect G t k F i l e S e l e c t ( O k C a n c e l H e l p GtkWidget *gtk_file_selection_new( gchar *title ); void gtk_file_selection_set_filename( GtkFileSelection *filesel, gchar *filename );

50 9 163 gchar *gtk_file_selection_get_filename( GtkFileSelection *filesel ); d i r _ l i s t f i l e _ l i s t s e l e c t i o n _ e n t r y s e l e c t i o n _ t e x t m a i n _ v b o x o k _ b u t t o n c a n c e l _ b u t t o n h e l p _ b u t t o n o k _ b u t t o n c a n c e l _ b u t t o n h e l p _ b u t t o n t e s t g t k. c H e l p /* filesel.c #include <gtk/gtk.h> /* void file_ok_sel (GtkWidget *w, GtkFileSelection *fs) g_print ("%s\n", gtk_file_selection_get_filename ( GTK_FILE_SELECTION (fs))); void destroy (GtkWidget *widget, gpointer data) gtk_main_quit (); int main (int argc, char *argv[]) GtkWidget *filew; gtk_init (&argc, &argv); /* filew = gtk_file_selection_new ("File selection"); gtk_signal_connect (GTK_OBJECT (filew), "destroy", (GtkSignalFunc) destroy, &filew); /* o k _ b u t t o n f i l e _ o k _ s e l gtk_signal_connect (GTK_OBJECT (GTK_FILE_SELECTION (filew)->ok_button), "clicked", (GtkSignalFunc) file_ok_sel, filew ); /* c a n c e l _ b u t t o n gtk_signal_connect_object (GTK_OBJECT (GTK_FILE_SELECTION ( f i l e w ) - > c a n c e l _ b u t t o n ),

51 164 Linux C "clicked", (GtkSignalFunc) gtk_widget_destroy, GTK_OBJECT (filew)); /* gtk_file_selection_set_filename (GTK_FILE_SELECTION(filew), " p e n g u i n. p n g "); g t k _ w i d g e t _ s h o w ( f i l e w ); gtk_main (); return 0; /* s h e l l./ f i l e s e l

ebook 86-10

ebook 86-10 10 GtkContainer 10.1 GtkEventBox G T K X G t k E v e n t B o x G t k E v e n t B o x X G T K X X GtkWidget *gtk_event_box_new( void ); G t k E v e n t B o x gtk_container_add( GTK_CONTAINER(event_box),

More information

ebook 86-15

ebook 86-15 15 G t k + d e l e t e _ e v e n t G n o m e G n o m e 15.1 GnomeDialog G t k + G n o m e D i a l o g 15.1.1 G n o m e D i a l o g g n o m e _ d i a l o g _ n e w ( ) G N O M E _ D I A L O G ( d i a l

More information

ebook 86-2

ebook 86-2 2 Gtk+/Gnome 2.1 Gtk+/Gnome G t k + / G n o m e G t k + G n o m L i n u x Red Hat Linux 6.0/6.1 TurboLinux 4.0 G t k + G n o m e G t k + G n o m e a u t o m a k e a u t o c o n f i g g c c g d b I n t

More information

Microsoft Word - GTK入门导引.doc

Microsoft Word - GTK入门导引.doc GTK 入门导引 Ian Main, slow@intergate.bc.ca, September 17,1997 翻译 : Brian Lin, OK STATION, Webmaster, 7/23/1998, foxman@okstation.com http://linux.okstation.com/gtk/gtk_tut.html 目录 1. 简介 2. 开始 2.1 用 GTK 来写

More information

C 1

C 1 C homepage: xpzhangme 2018 5 30 C 1 C min(x, y) double C // min c # include # include double min ( double x, double y); int main ( int argc, char * argv []) { double x, y; if( argc!=

More information

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc 2 5 8 11 0 13 1. 13 2. 15 3. 18 1 23 1. 23 2. 26 3. 28 2 36 1. 36 2. 39 3. 42 4. 44 5. 49 6. 51 3 57 1. 57 2. 60 3. 64 4. 66 5. 70 6. 75 7. 83 8. 85 9. 88 10. 98 11. 103 12. 108 13. 112 4 115 1. 115 2.

More information

GTK+ 2.0 教程

GTK+ 2.0 教程 GTK+ 2.0 教程 GTK+ 2.0 教程 译者 : huzheng,konghui,ferry,carton,yang_yi,ddd,tingle 版本号 : V_0.1.0 2002 年 6 月 25 日 本文是有关通过 C 语言接口使用 GTK (the GIMP Toolkit) 的教程 Table of Contents 中文版说明简介从这里开始用 GTK 来写 Hello World

More information

C/C++ 语言 - 循环

C/C++ 语言 - 循环 C/C++ Table of contents 7. 1. 2. while 3. 4. 5. for 6. 8. (do while) 9. 10. (nested loop) 11. 12. 13. 1 // summing.c: # include int main ( void ) { long num ; long sum = 0L; int status ; printf

More information

新・明解C言語入門編『索引』

新・明解C言語入門編『索引』 !... 75!=... 48 "... 234 " "... 9, 84, 240 #define... 118, 213 #include... 148 %... 23 %... 23, 24 %%... 23 %d... 4 %f... 29 %ld... 177 %lf... 31 %lu... 177 %o... 196 %p... 262 %s... 242, 244 %u... 177

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

untitled

untitled A, 3+A printf( ABCDEF ) 3+ printf( ABCDEF ) 2.1 C++ main main main) * ( ) ( ) [ ].* ->* ()[] [][] ** *& char (f)(int); ( ) (f) (f) f (int) f int char f char f(int) (f) char (*f)(int); (*f) (int) (

More information

( ) 158 Linux GTK+2.0 GTK GTK GTK+2.0 GTK+2.0 GTK GTK+2.0 MySQL GTK+2.0 GTK+2.0 GTK+2.0 C Linux (CIP) GTK+2.0 / ISBN

( ) 158 Linux GTK+2.0 GTK GTK GTK+2.0 GTK+2.0 GTK GTK+2.0 MySQL GTK+2.0 GTK+2.0 GTK+2.0 C Linux (CIP) GTK+2.0 / ISBN GTK+2.0 ( ) 158 Linux GTK+2.0 GTK+2.0 11 70 GTK+2.0 1 5 GTK+2.0 GTK+2.0 GTK+2.0 6 11 GTK+2.0 MySQL GTK+2.0 GTK+2.0 GTK+2.0 C Linux (CIP) GTK+2.0 /. 2002 ISBN 7-302-06011-8 I.G II. III.Linux IV.TP316.81

More information

epub83-1

epub83-1 C++Builder 1 C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r 1.1 1.1.1 1-1 1. 1-1 1 2. 1-1 2 A c c e s s P a r a d o x Visual FoxPro 3. / C / S 2 C + + B u i l d e r / C

More information

Microsoft Word - 在Windows下以GTK撰寫視窗程式_0.01.doc

Microsoft Word - 在Windows下以GTK撰寫視窗程式_0.01.doc 在 Windows 下以 GTK+ 撰寫視窗程式 作者 : 徐天送 陳孟哲 email:s2598003@ntut.edu.tw 網址 :http://www.ntut.edu.tw/~s2598003/ 日期 :2004/11/2(0.01 版 ) 前言 在 Win32 平台下, 若是要開發視窗程式, 並且使撰寫出來的程式能夠在 Linux 下也能編譯並執行, 除了 Qt 之外, 我們還可以有另一個選擇,

More information

新版 明解C++入門編

新版 明解C++入門編 511!... 43, 85!=... 42 "... 118 " "... 337 " "... 8, 290 #... 71 #... 413 #define... 128, 236, 413 #endif... 412 #ifndef... 412 #if... 412 #include... 6, 337 #undef... 413 %... 23, 27 %=... 97 &... 243,

More information

第11章 可调内核参数

第11章 可调内核参数 11 11 Unix BSD 4.4 Linux sysctl Unix Linux /proc window /proc /proc/sys /proc/sys sysctl Unix root /proc/sys/vm root /proc/sys sysctl /proc/sys struct ctl_table 18274 struct ctl_tables /proc/sys struct

More information

C/C++语言 - C/C++数据

C/C++语言 - C/C++数据 C/C++ C/C++ Table of contents 1. 2. 3. 4. char 5. 1 C = 5 (F 32). 9 F C 2 1 // fal2cel. c: Convert Fah temperature to Cel temperature 2 # include < stdio.h> 3 int main ( void ) 4 { 5 float fah, cel ;

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

coverage2.ppt

coverage2.ppt Satellite Tool Kit STK/Coverage STK 82 0715 010-68745117 1 Coverage Definition Figure of Merit 2 STK Basic Grid Assets Interval Description 3 Grid Global Latitude Bounds Longitude Lines Custom Regions

More information

untitled

untitled 1 7 7.1 7.2 7.3 7.4 7.5 2 7.1 VFT virtual 7.1 3 1 1. 2. public protected public 3. VFT 4. this const volatile 4 2 5. ( ) ( ) 7.1 6. no-static virtual 7.2 7. inline 7.3 5 3 8. this this 9. ( ) ( ) delete

More information

untitled

untitled 1 DBF (READDBF.C)... 1 2 (filetest.c)...2 3 (mousetes.c)...3 4 (painttes.c)...5 5 (dirtest.c)...9 6 (list.c)...9 1 dbf (readdbf.c) /* dbf */ #include int rf,k,reclen,addr,*p1; long brec,erec,i,j,recnum,*p2;

More information

untitled

untitled 不 料 料 例 : ( 料 ) 串 度 8 年 數 串 度 4 串 度 數 數 9- ( ) 利 數 struct { ; ; 數 struct 數 ; 9-2 數 利 數 C struct 數 ; C++ 數 ; struct 省略 9-3 例 ( 料 例 ) struct people{ char name[]; int age; char address[4]; char phone[]; int

More information

华恒家庭网关方案

华恒家庭网关方案 LINUX V1.5 1 2 1 2 LINUX WINDOWS PC VC LINUX WINDOWS LINUX 90% GUI LINUX C 3 REDHAT 9 LINUX PC TFTP/NFS http://www.hhcn.com/chinese/embedlinux-res.html minicom NFS mount C HHARM9-EDU 1 LINUX HHARM9-EDU

More information

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File 51 C 51 51 C C C C C C * 2003-3-30 pnzwzw@163.com C C C C KEIL uvision2 MCS51 PLM C VC++ 51 KEIL51 KEIL51 KEIL51 KEIL 2K DEMO C KEIL KEIL51 P 1 1 1 1-1 - 1 Project New Project 1 2 Windows 1 3 N C test

More information

AL-M200 Series

AL-M200 Series NPD4754-00 TC ( ) Windows 7 1. [Start ( )] [Control Panel ()] [Network and Internet ( )] 2. [Network and Sharing Center ( )] 3. [Change adapter settings ( )] 4. 3 Windows XP 1. [Start ( )] [Control Panel

More information

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

More information

INTRODUCTION TO COM.DOC

INTRODUCTION TO COM.DOC How About COM & ActiveX Control With Visual C++ 6.0 Author: Curtis CHOU mahler@ms16.hinet.net This document can be freely release and distribute without modify. ACTIVEX CONTROLS... 3 ACTIVEX... 3 MFC ACTIVEX

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes What is a JavaBean? JavaBean Java JavaBean Java JavaBean JComponent tooltiptext font background foreground doublebuffered border preferredsize minimumsize maximumsize JButton. Swing JButton JButton() JButton(String

More information

<4D6963726F736F667420576F7264202D20C8EDBCFEB9A4B3CCCFEEC4BFD0E8C7F3B5F7D1D0B1A8B8E6B7B6B1BE>

<4D6963726F736F667420576F7264202D20C8EDBCFEB9A4B3CCCFEEC4BFD0E8C7F3B5F7D1D0B1A8B8E6B7B6B1BE> 机 遇 创 造 发 展 科 技 造 就 成 功 软 件 工 程 项 目 需 求 调 研 报 告 ( 范 本 ) ( 调 研 时 间 :0000-00-00 至 0000-00-00) 深 圳 市 易 讯 诚 信 息 技 术 有 限 公 司 调 研 报 告 简 要 说 明 XXX 公 司 软 件 工 程 项 目 需 求 调 研 报 告 是 根 据 XXX 公 司 现 有 管 理 体 系 整 理 而 成,

More information

四川省普通高等学校

四川省普通高等学校 四 川 省 普 通 高 等 学 校 计 算 机 应 用 知 识 和 能 力 等 级 考 试 考 试 大 纲 (2013 年 试 行 版 ) 四 川 省 教 育 厅 计 算 机 等 级 考 试 中 心 2013 年 1 月 目 录 一 级 考 试 大 纲 1 二 级 考 试 大 纲 6 程 序 设 计 公 共 基 础 知 识 6 BASIC 语 言 程 序 设 计 (Visual Basic) 9

More information

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit 6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C51 6.1 C51 6.1.1 C51 C51 ANSI C MCS-51 C51 ANSI C C51 6.1 6.1 C51 bit Byte bit sbit 1 0 1 unsigned char 8 1 0 255 Signed char 8 11 128

More information

epub 33-8

epub 33-8 8 1) 2) 3) A S C I I 4 C I / O I / 8.1 8.1.1 1. ANSI C F I L E s t d i o. h typedef struct i n t _ f d ; i n t _ c l e f t ; i n t _ m o d e ; c h a r *_ n e x t ; char *_buff; /* /* /* /* /* 1 5 4 C FILE

More information

5-1 nav css 5-2

5-1 nav css 5-2 5 HTML CSS HTML CSS Ê Ê Ê Ê 5-1 nav css 5-2 5-1 5 5-1-1 5-01 css images 01 index.html 02 5-3 style.css css 03 CH5/5-01/images 04 images index.html style.css 05

More information

( CIP) /. :, ( ) ISBN TP CIP ( 2005) : : : : * : : 174 ( A ) : : ( 023) : ( 023)

( CIP) /. :, ( ) ISBN TP CIP ( 2005) : : : : * : : 174 ( A ) : : ( 023) : ( 023) ( CIP) /. :, 2005. 2 ( ) ISBN 7-5624-3339-9.......... TP311. 1 CIP ( 2005) 011794 : : : : * : : 174 ( A ) :400030 : ( 023) 65102378 65105781 : ( 023) 65103686 65105565 : http: / /www. cqup. com. cn : fxk@cqup.

More information

ebook39-6

ebook39-6 6 first-in-first-out, FIFO L i n e a r L i s t 3-1 C h a i n 3-8 5. 5. 3 F I F O L I F O 5. 5. 6 5. 5. 6.1 [ ] q u e n e ( r e a r ) ( f r o n t 6-1a A 6-1b 6-1b D C D 6-1c a) b) c) 6-1 F I F O L I F ADT

More information

68003 (Project Unity TC)_.indb

68003 (Project Unity TC)_.indb 2014 8 31 2016 2 6 104 2015 4 24 105 2008 6 1 2014 7 29 2 5,000 1 106 5 2008 3 5% 5% 2012 10 11 5% 5% 20% 25% H 17.51% A 107 A0.07% A 0.06% A H 25% H 25% 30 10 2015 8 27 5% 108 5% 2008 12 1 5% 2012 9 23

More information

要 及 时 为 入 党 积 极 分 子 确 定 两 名 培 养 联 系 人, 进 行 联 络 帮 助 要 定 期 ( 每 季 度 至 少 一 次 ) 听 取 培 养 联 系 人 的 思 想 和 工 作 情 况 汇 报, 及 时 完 成 入 党 积 极 分 子 登 记 表 ( 见 附 件 2) 的 填

要 及 时 为 入 党 积 极 分 子 确 定 两 名 培 养 联 系 人, 进 行 联 络 帮 助 要 定 期 ( 每 季 度 至 少 一 次 ) 听 取 培 养 联 系 人 的 思 想 和 工 作 情 况 汇 报, 及 时 完 成 入 党 积 极 分 子 登 记 表 ( 见 附 件 2) 的 填 中 共 兰 州 资 源 环 境 职 业 技 术 学 院 委 员 会 文 件 兰 资 环 院 党 发 2016 40 号 关 于 进 一 步 规 范 党 员 发 展 工 作 和 从 严 管 理 党 员 的 通 知 各 系 党 总 支 支 部 : 为 进 一 步 规 范 和 加 强 发 展 党 员 工 作, 从 严 管 理 党 员, 确 保 发 展 党 员 质 量, 提 高 各 基 层 党 组 织 的

More information

static struct file_operations gpio_ctl_fops={ ioctl: gpio_ctl_ioctl, open : gpio_open, release: gpio_release, ; #defineled1_on() (GPBDAT &= ~0x1) #def

static struct file_operations gpio_ctl_fops={ ioctl: gpio_ctl_ioctl, open : gpio_open, release: gpio_release, ; #defineled1_on() (GPBDAT &= ~0x1) #def Kaise s 2410 Board setting [1]. Device Driver Device Driver Linux s Kernel ARM s kernel s3c2410_kernel2.4.18_r1.1_change.tar.bz2 /usr/src (1) #cd /usr/src (2) #tar xfj s3c2410_kernel2.4.18_r1.1_change.tar.bz2

More information

untitled

untitled 1 1.1 1.2 1.3 1.4 1.5 ++ 1.6 ++ 2 BNF 3 4 5 6 7 8 1.2 9 1.2 IF ELSE 10 1.2 11 1.2 12 1.3 Ada, Modula-2 Simula Smalltalk-80 C++, Objected Pascal(Delphi), Java, C#, VB.NET C++: C OOPL Java: C++ OOPL C# C++

More information

ebook45-5

ebook45-5 5 S Q L SQL Server 5.1 5-1 SQL Server 5-1 A B S A C O S A S I N ATA N AT N 2 C E I L I N G C O S C O T D E G R E E S E X P F L O O R L O G L O G 10 P I P O W E R R A D I A N S R A N D R O U N D S I G N

More information

ebook70-19

ebook70-19 1 9 S t a r O ff i c e Star Division S t a r O ff i c e h t t p / / w w w. s t a r d i v i s i o n. c o m S t a r O ff i c e O p e n L i n u x O p e n L i n u x StarOffice S t a r O ff i c e S t a r O

More information

mvc

mvc Build an application Tutor : Michael Pan Application Source codes - - Frameworks Xib files - - Resources - ( ) info.plist - UIKit Framework UIApplication Event status bar, icon... delegation [UIApplication

More information

ebook 132-2

ebook 132-2 2 SQL Server 7.0 SQL Server SQL Server 7 SQL Server 7 5 2.1 SQL Server 7 SQL Server 7 SQL Server SQL Server SQL Server 2.1.1 SQL Server Windows NT/2000 Windows 95/98 ( r a n d o m access memory R A M )

More information

<4D6963726F736F667420576F7264202D20C6C0BCB6B1A8B8E6B7E2C3E6A3A8C8F0B0B2B9FACDB6B8FAD7D9A3A9>

<4D6963726F736F667420576F7264202D20C6C0BCB6B1A8B8E6B7E2C3E6A3A8C8F0B0B2B9FACDB6B8FAD7D9A3A9> 2016 年 公 司 债 券 2016 年 跟 踪 信 用 评 级 报 告 温 州 交 投 经 营 状 况 平 稳, 其 提 供 的 全 额 无 条 件 不 可 撤 销 的 连 带 责 任 保 证 担 保 仍 可 提 升 本 期 债 券 的 安 全 性 关 注 : 公 司 主 要 在 建 项 目 资 金 需 求 量 较 大, 面 临 较 大 的 资 金 压 力 截 至 2015 年 末, 公 司

More information

36 2013 6 29 2012 10 24 2012 12 1 93 1998 10 25 94 95 2001 12 12 96 2007 4 15 97 (1) 200.0 50.0 100.0 500.0 98 49% 5% 20% 25% 25% 25% 25% H 598,100,000 H 59,810,000 657,910,000 H 25.0% 10 2010 9 19 5%

More information

05 01 accordion UI containers 03 Accordion accordion UI accordion 54

05 01 accordion UI containers 03 Accordion accordion UI accordion 54 jquery UI plugin Accordion 05 01 accordion UI containers 03 Accordion accordion UI accordion 54 05 jquery UI plugin 3-1

More information

1. 2. Flex Adobe 3.

1. 2. Flex Adobe 3. 1. 2. Flex Adobe 3. Flex Adobe Flex Flex Web Flex Flex Flex Adobe Flash Player 9 /rich Internet applications/ria Flex 1. 2. 3. 4. 5. 6. SWF Flash Player Flex 1. Flex framework Adobe Flex 2 framework RIA

More information

ebook

ebook 3 3 3.1 3.1.1 ( ) 90 3 1966 B e r n s t e i n P ( i ) R ( i ) W ( i P ( i P ( j ) 1) R( i) W( j)=φ 2) W( i) R( j)=φ 3) W( i) W( j)=φ 3.1.2 ( p r o c e s s ) 91 Wi n d o w s Process Control Bl o c k P C

More information

ebook50-11

ebook50-11 11 Wi n d o w s C A D 53 M F C 54 55 56 57 58 M F C 11.1 53 11-1 11-1 MFC M F C C D C Wi n d o w s Wi n d o w s 4 11 199 1. 1) W M _ PA I N T p W n d C W n d C D C * p D C = p W n d GetDC( ); 2) p W n

More information

untitled

untitled 3 C++ 3.1 3.2 3.3 3.4 new delete 3.5 this 3.6 3.7 3.1 3.1 class struct union struct union C class C++ C++ 3.1 3.1 #include struct STRING { typedef char *CHARPTR; // CHARPTR s; // int strlen(

More information

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++;

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++; Memory & Pointer trio@seu.edu.cn 2.1 2.1.1 1 int *p int a 0x00C7 0x00C7 0x00C7 2.1.2 2 int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++; 2.1.3 1. 2. 3. 3 int A,

More information

C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha

C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha CYPOK CYPOK 1 UltraEdit Project-->Install Language Tool: Language Suite----->hi-tech picc Tool Name ---->PICC Compiler Executable ---->c:hi-picinpicc.exe ( Command-line Project-->New Project-->File Name--->myc

More information

Microsoft Word - 01.DOC

Microsoft Word - 01.DOC 第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的

More information

51 C 51 isp 10 C PCB C C C C KEIL

51 C 51 isp 10   C   PCB C C C C KEIL http://wwwispdowncom 51 C " + + " 51 AT89S51 In-System-Programming ISP 10 io 244 CPLD ATMEL PIC CPLD/FPGA ARM9 ISP http://wwwispdowncom/showoneproductasp?productid=15 51 C C C C C ispdown http://wwwispdowncom

More information

ebook39-5

ebook39-5 5 3 last-in-first-out, LIFO 3-1 L i n e a r L i s t 3-8 C h a i n 3 3. 8. 3 C + + 5.1 [ ] s t a c k t o p b o t t o m 5-1a 5-1a E D 5-1b 5-1b E E 5-1a 5-1b 5-1c E t o p D t o p D C C B B B t o p A b o

More information

nooog

nooog C : : : , C C,,, C, C,, C ( ), ( ) C,,, ;,, ; C,,, ;, ;, ;, ;,,,, ;,,, ; : 1 9, 2 3, 4, 5, 6 10 11, 7 8, 12 13,,,,, 2008 1 1 (1 ) 1.1 (1 ) 1.1.1 ( ) 1.1.2 ( ) 1.1.3 ( ) 1.1.4 ( ) 1.1.5 ( ) 1.2 ( ) 1.2.1

More information

c_cpp

c_cpp C C++ C C++ C++ (object oriented) C C++.cpp C C++ C C++ : for (int i=0;i

More information

BOOL EnumWindows(WNDENUMPROC lparam); lpenumfunc, LPARAM (Native Interface) PowerBuilder PowerBuilder PBNI 2

BOOL EnumWindows(WNDENUMPROC lparam); lpenumfunc, LPARAM (Native Interface) PowerBuilder PowerBuilder PBNI 2 PowerBuilder 9 PowerBuilder Native Interface(PBNI) PowerBuilder 9 PowerBuilder C++ Java PowerBuilder 9 PBNI PowerBuilder Java C++ PowerBuilder NVO / PowerBuilder C/C++ PowerBuilder 9.0 PowerBuilder Native

More information

50~56 I1. 1 A 2 3 I2. I2a. 1 2 3 4 5 ( ) I2b. 1 2 3 I2b1. 4 5 ( ) I3. 11 12 02 ( ) 1 2 (24 ) A1. 0 1 A2 A1a. ( ) A2. ( ) () () ( ) ------------------------------------------------------------------------------------------

More information

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.07.doc

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.07.doc 2 5 8 11 0 1. 13 2. 15 3. 18 1 1. 22 2. 25 3. 27 2 1. 35 2. 38 3. 41 4. 43 5. 48 6. 50 3 1. 56 2. 59 3. 63 4. 65 5. 69 13 22 35 56 6. 74 7. 82 8. 84 9. 87 10. 97 11. 102 12. 107 13. 111 4 114 1. 114 2.

More information

9 月 14 日 讲 话 精 神, 并 探 讨 怎 么 建 设 好 我 们 的 国 家, 同 时 我 们 非 常 荣 幸 地 邀 请 到 了 计 算 机 系 党 委 副 书 记 刘 奕 群 老 师 和 研 工 组 组 长 贾 珈 老 师 共 同 学 习 与 交 流 在 活 动 中, 两 位 老 师

9 月 14 日 讲 话 精 神, 并 探 讨 怎 么 建 设 好 我 们 的 国 家, 同 时 我 们 非 常 荣 幸 地 邀 请 到 了 计 算 机 系 党 委 副 书 记 刘 奕 群 老 师 和 研 工 组 组 长 贾 珈 老 师 共 同 学 习 与 交 流 在 活 动 中, 两 位 老 师 一 集 体 建 设 概 述 计 研 124 班 集 体 经 验 总 结 计 研 124 班 由 计 算 机 系 智 能 技 术 与 系 统 国 家 重 点 实 验 室 2012 级 的 32 名 研 究 生 新 生 组 成, 其 中 有 17 名 博 士 生 和 15 名 硕 士 生, 党 员 人 数 23 党 支 书 带 领 8 位 党 班 团 干 部, 团 结 所 有 同 学, 致 力 于 将

More information

User’s Manual

User’s Manual V7 用 户 手 册 亿 图 为 您 专 业 图 表 设 计 提 供 最 佳 解 决 方 案 2004-2014 EdrawSoft. All right reserved. Edraw and Edraw logo are registered trademarks of EdrawSoft. 目 录 亿 图 怎 样 优 越 于 其 他 软 件... 5 亿 图 7 个 新 功 能... 6 为

More information

3.1 num = 3 ch = 'C' 2

3.1 num = 3 ch = 'C' 2 Java 1 3.1 num = 3 ch = 'C' 2 final 3.1 final : final final double PI=3.1415926; 3 3.2 4 int 3.2 (long int) (int) (short int) (byte) short sum; // sum 5 3.2 Java int long num=32967359818l; C:\java\app3_2.java:6:

More information

摘 要 本 校 多 媒 體 設 計 系 與 上 海 戲 劇 學 院 創 意 學 院 在 多 次 聯 繫 交 流 之 下, 已 簽 署 合 作 備 忘 錄, 積 極 尋 求 兩 校 合 作 教 學 與 共 同 創 作 之 機 會 藉 由 本 系 學 生 作 品 腦 殘 公 寓 入 圍 第 五 屆 中

摘 要 本 校 多 媒 體 設 計 系 與 上 海 戲 劇 學 院 創 意 學 院 在 多 次 聯 繫 交 流 之 下, 已 簽 署 合 作 備 忘 錄, 積 極 尋 求 兩 校 合 作 教 學 與 共 同 創 作 之 機 會 藉 由 本 系 學 生 作 品 腦 殘 公 寓 入 圍 第 五 屆 中 出 國 報 告 ( 出 國 類 別 : 其 他 - 國 際 競 賽 ) 中 國 獨 立 遊 戲 節 國 際 學 生 競 賽 及 上 海 戲 劇 學 院 合 作 洽 談 服 務 機 關 : 國 立 臺 中 科 技 大 學 多 媒 體 設 計 系 姓 名 職 稱 : 金 啟 平 專 案 講 師 派 赴 國 家 : 中 國 出 國 期 間 :102.9.14 102.9.17 報 告 日 期 :102.11.20

More information

( Version 0.4 ) 1

( Version 0.4 ) 1 ( Version 0.4 ) 1 3 3.... 3 3 5.... 9 10 12 Entities-Relationship Model. 13 14 15.. 17 2 ( ) version 0.3 Int TextVarchar byte byte byte 3 Id Int 20 Name Surname Varchar 20 Forename Varchar 20 Alternate

More information

Front 2 Polar F11 ( ) : Polar F11 Polar F11 Polar F11 Polar (Keeps U Fit - Own Workout Program) Polar Polar F11 Polar F11 Polar F11 Polar (

Front 2 Polar F11 ( ) : Polar F11 Polar F11 Polar F11 Polar (Keeps U Fit - Own Workout Program) Polar Polar F11 Polar F11 Polar F11 Polar ( Front 1 - Polar F11 Light OK Back Front 2 Polar F11 ( ) : Polar F11 Polar F11 Polar F11 Polar (Keeps U Fit - Own Workout Program) Polar Polar F11 Polar F11 Polar F11 Polar (www.polarfitnesstrainer.com)

More information

epub 66-4

epub 66-4 4 5 Page Layout Wi z a r d Visio 2000 Page Layout Wi z a r d 4 Visio Custom Properties Visio 2000 O ffice Layout Cause and Effect Diagram Visio 2000 1) 2) 4.1 Visio 2000 F i l e N e w Visio 2000 Block

More information

2013 C 1 # include <stdio.h> 2 int main ( void ) 3 { 4 int cases, a, b, i; 5 scanf ("%d", & cases ); 6 for (i = 0;i < cases ;i ++) 7 { 8 scanf ("%d %d

2013 C 1 # include <stdio.h> 2 int main ( void ) 3 { 4 int cases, a, b, i; 5 scanf (%d, & cases ); 6 for (i = 0;i < cases ;i ++) 7 { 8 scanf (%d %d 2013 18 ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp, Compilation Error cin scanf Time Limit Exceeded 1: A 5 B 5 C 5 D 5 E 5 F 5 1 2013 C 1 # include 2 int main ( void ) 3 { 4 int cases, a, b,

More information

第3章.doc

第3章.doc 3 3 3 3.1 3 IT Trend C++ Java SAP Advantech ERPCRM C++ C++ Synopsys C++ NEC C C++PHP C++Java C++Java VIA C++ 3COM C++ SPSS C++ Sybase C++LinuxUNIX Motorola C++ IBM C++Java Oracle Java HP C++ C++ Yahoo

More information

89???????q?l?????T??

89???????q?l?????T?? 華 興 電 子 報 第 89 期 民 國 102 年 01 月 12 日 出 刊 網 址 :www.hhhs.tp.edu.tw 發 行 人 : 高 宏 煙 總 編 輯 : 蕭 慶 智 董 大 鋼 許 莙 葇 王 雅 慧 主 編 : 賴 怡 潔 編 輯 群 : 周 慧 婷 陳 怡 君 陳 玫 禎 楊 雅 惠 郭 孟 平 伍 玉 琪 林 冠 良 林 淑 惠 賴 姿 潔 王 思 方 102 年 01 月

More information

穨2700使用手冊.doc

穨2700使用手冊.doc Keithley 2700 13 CH Avg Ratio continuity Offset Compensation Ohms 80 (differential) 6 (22 ) (Half-rack size) 1000V/3A isolation/input 50000 EEE-488 RS-232 Digital I/O Trigger Link ActiveX Start-up software

More information

------------------------------- 6 --------------------22 ------------------------------23 ---------------------------------- 24 1. ----------------------------------25 2. --------------------26 -------------------------------

More information

(Guangzhou) AIT Co, Ltd V 110V [ ]! 2

(Guangzhou) AIT Co, Ltd V 110V [ ]! 2 (Guangzhou) AIT Co, Ltd 020-84106666 020-84106688 http://wwwlenxcn Xi III Zebra XI III 1 (Guangzhou) AIT Co, Ltd 020-84106666 020-84106688 http://wwwlenxcn 230V 110V [ ]! 2 (Guangzhou) AIT Co, Ltd 020-84106666

More information

发展党员材料填写参考(上网).doc

发展党员材料填写参考(上网).doc 华 中 科 技 大 学 党 员 发 展 材 料 填 写 参 考 中 共 华 中 科 技 大 学 委 员 会 组 织 部 2010 年 3 月 31 日 目 录 1 党 员 发 展 材 料 一 览 表... 1 2 入 党 志 愿 书 填 写 参 考... 2 3 申 请 入 党 积 极 分 子 培 养 考 察 登 记 表 填 写 参 考... 13 4 华 中 科 技 大 学 发 展 党 员 综 合

More information

C++ 程式設計

C++ 程式設計 C C 料, 數, - 列 串 理 列 main 數串列 什 pointer) 數, 數, 數 數 省 不 不, 數 (1) 數, 不 數 * 料 * 數 int *int_ptr; char *ch_ptr; float *float_ptr; double *double_ptr; 數 (2) int i=3; int *ptr; ptr=&i; 1000 1012 ptr 數, 數 1004

More information

<4D6963726F736F667420576F7264202D20A1BE3230313630373237A1BF32303136C4EABDADCBD5D7CFBDF0C5A9B4E5C9CCD2B5D2F8D0D0B9C9B7DDD3D0CFDEB9ABCBBEB8FAD7D9C6C0BCB6B1A8B8E6A3A8B8FAD7D93230313630373237A3A9>

<4D6963726F736F667420576F7264202D20A1BE3230313630373237A1BF32303136C4EABDADCBD5D7CFBDF0C5A9B4E5C9CCD2B5D2F8D0D0B9C9B7DDD3D0CFDEB9ABCBBEB8FAD7D9C6C0BCB6B1A8B8E6A3A8B8FAD7D93230313630373237A3A9> 优 化 组 织 架 构, 提 升 管 控 效 率 ; 总 行 参 与 贷 款 调 查, 控 制 信 贷 风 险 2015 年 底, 紫 金 农 商 银 行 为 适 应 经 营 发 展 需 要, 对 组 织 架 构 和 内 设 机 构 进 行 了 部 分 调 整, 新 设 立 了 金 融 同 业 部 和 七 个 部 门 内 设 中 心, 分 别 为 : 个 人 存 款 管 理 中 心 和 零 售 业

More information

概述

概述 OPC Version 1.6 build 0910 KOSRDK Knight OPC Server Rapid Development Toolkits Knight Workgroup, eehoo Technology 2002-9 OPC 1...4 2 API...5 2.1...5 2.2...5 2.2.1 KOS_Init...5 2.2.2 KOS_InitB...5 2.2.3

More information

提问袁小兵:

提问袁小兵: C++ 面 试 试 题 汇 总 柯 贤 富 管 理 软 件 需 求 分 析 篇 1. STL 类 模 板 标 准 库 中 容 器 和 算 法 这 部 分 一 般 称 为 标 准 模 板 库 2. 为 什 么 定 义 虚 的 析 构 函 数? 避 免 内 存 问 题, 当 你 可 能 通 过 基 类 指 针 删 除 派 生 类 对 象 时 必 须 保 证 基 类 析 构 函 数 为 虚 函 数 3.

More information

C C C The Most Beautiful Language and Most Dangerous Language in the Programming World! C 2 C C C 4 C 40 30 10 Project 30 C Project 3 60 Project 40

C C C The Most Beautiful Language and Most Dangerous Language in the Programming World! C 2 C C C 4 C 40 30 10 Project 30 C Project 3 60 Project 40 C C trio@seu.edu.cn C C C C The Most Beautiful Language and Most Dangerous Language in the Programming World! C 2 C C C 4 C 40 30 10 Project 30 C Project 3 60 Project 40 Week3 C Week5 Week5 Memory & Pointer

More information

C

C C 2017 4 1 1. 2. while 3. 4. 5. for 6. 2/161 C 7. 8. (do while) 9. 10. (nested loop) 11. 12. 3/161 C 1. I 1 // summing.c: 2 #include 3 int main(void) 4 { 5 long num; 6 long sum = 0L; 7 int status;

More information

C/C++语言 - 分支结构

C/C++语言 - 分支结构 C/C++ Table of contents 1. if 2. if else 3. 4. 5. 6. continue break 7. switch 1 if if i // colddays.c: # include int main ( void ) { const int FREEZING = 0; float temperature ; int cold_ days

More information

IsPostBack 2

IsPostBack 2 5 IsPostBack 2 TextBox 3 TextBox TextBox 4 TextBox TextBox 1 2 5 TextBox Columns MaxLength ReadOnly Rows Text TextMode TextMode MultiLine TextMode MultiLine True False TextMode MultiLine Password MulitLine

More information

第 2 页 共 82 页 目录 简介 3 一 启动 glade 二 构造图形界面 4 三 保存 7 四 修改 10 五 C 代码联编和生成 13 六 修改 callbacks.c 源代码来适应需要的功能 14 七 美化 15 八 GTK+的工作机理 21 九 附录 管网平差源代码 2

第 2 页 共 82 页 目录 简介 3 一 启动 glade 二 构造图形界面 4 三 保存 7 四 修改 10 五 C 代码联编和生成 13 六 修改 callbacks.c 源代码来适应需要的功能 14 七 美化 15 八 GTK+的工作机理 21 九 附录 管网平差源代码 2 第 1 页 共 82 页 Glade 编程快餐 v1.02 开发基于 GTK+库的管网平差程序 Glade makes you glad! 第 2 页 共 82 页 目录 简介 3 一 启动 glade2.10.0 4 二 构造图形界面 4 三 保存 7 四 修改 10 五 C 代码联编和生成 13 六 修改 callbacks.c 源代码来适应需要的功能 14 七 美化 15 八 GTK+的工作机理

More information

2015 年 水 利 建 设 市 场 主 体 信 用 评 价 结 果 一 勘 察 单 位 ( 共 92 家 ) AAA 级 (48 家 ) 1 中 国 电 建 集 团 北 京 勘 测 设 计 研 究 院 有 限 公 司 2 北 京 市 水 利 规 划 设 计 研 究 院 3 中 水 北 方 勘 测

2015 年 水 利 建 设 市 场 主 体 信 用 评 价 结 果 一 勘 察 单 位 ( 共 92 家 ) AAA 级 (48 家 ) 1 中 国 电 建 集 团 北 京 勘 测 设 计 研 究 院 有 限 公 司 2 北 京 市 水 利 规 划 设 计 研 究 院 3 中 水 北 方 勘 测 2015 年 水 利 建 设 市 场 主 体 信 用 评 价 结 果 一 勘 察 单 位 ( 共 92 家 ) AAA 级 (48 家 ) 1 中 国 电 建 集 团 北 京 勘 测 设 计 研 究 院 有 限 公 司 2 北 京 市 水 利 规 划 设 计 研 究 院 3 中 水 北 方 勘 测 设 计 研 究 有 限 责 任 公 司 4 天 津 市 水 利 勘 测 设 计 院 5 河 北 省 水

More information

「人名權威檔」資料庫欄位建置表

「人名權威檔」資料庫欄位建置表 ( version 0.2) 1 3 3 3 3 5 6 9.... 11 Entities - Relationship Model..... 12 13 14 16 2 ( ) Int Varchar Text byte byte byte Id Int 20 Name Surname Varchar 20 Forename Varchar 20 Alternate Type Varchar 10

More information

各位法師各位居士大德阿彌陀佛

各位法師各位居士大德阿彌陀佛 菩 提 道 次 第 广 论 第 五 十 七 讲 [ 中 士 道 7] ( 死 缘 死 心 ) 最 尊 贵 的 净 莲 上 师 讲 解 各 位 法 师! 各 位 居 士 大 德! 阿 弥 陀 佛! 我 们 今 天 介 绍 的 是 思 惟 集 谛 流 转 次 第 的 第 三 个 部 分, 就 是 死 亡 还 有 如 何 投 生 的 情 况 我 们 分 三 个 晚 上 详 细 解 说, 今 晚 我 们 先

More information

ebook8-30

ebook8-30 3 0 C C C C C C++ C + + C++ GNU C/C++ GNU egcs UNIX shell s h e l l g a w k P e r l U N I X I / O UNIX shell awk P e r l U N I X C C C C C C U N I X 30.1 C C U N I X 70 C C U N I X U N I X U N I X C Dennis

More information

epub 94-3

epub 94-3 3 A u t o C A D L AY E R L I N E T Y P E O S N A P S T Y L E X R E F - AutoLISP Object ARX A u t o C A D D C L A u t o C A D A u t o d e s k P D B D C L P D B D C L D C L 3.1 Wi n d o w s A u t o C A D

More information

目录

目录 ALTERA_CPLD... 3 11SY_03091... 3 12SY_03091...4....5 21 5 22...8 23..10 24..12 25..13..17 3 1EPM7128SLC.......17 3 2EPM7032SLC.......18 33HT46R47......19..20 41..20 42. 43..26..27 5151DEMO I/O...27 52A/D89C51...28

More information

TX-NR3030_BAS_Cs_ indd

TX-NR3030_BAS_Cs_ indd TX-NR3030 http://www.onkyo.com/manual/txnr3030/adv/cs.html Cs 1 2 3 Speaker Cable 2 HDMI OUT HDMI IN HDMI OUT HDMI OUT HDMI OUT HDMI OUT 1 DIGITAL OPTICAL OUT AUDIO OUT TV 3 1 5 4 6 1 2 3 3 2 2 4 3 2 5

More information

ebook15-10

ebook15-10 1 0 10.1 U N I X V 7 4. 3 B S D S V R 3 P O S I X. 1 100 % 10.2 S I G S I G A B RT a b o r t S I G A L R M a l a r m V 7 1 5 S V R 4 4. 3 + B S D 31 < s i g n a l. h > 0 10. 9 k i l l 0 P O S I X. 1 D

More information

术 改 造 项 目 审 批 方 式 改 革 的 通 知 ( 浙 政 发 2014 38 号 ), 现 就 做 好 审 批 方 式 改 革 实 施 工 作 通 知 如 下 : 一 适 用 范 围 审 批 方 式 改 革 适 用 范 围 为 工 业 企 业 零 土 地 技 术 改 造 项 目, 即 工

术 改 造 项 目 审 批 方 式 改 革 的 通 知 ( 浙 政 发 2014 38 号 ), 现 就 做 好 审 批 方 式 改 革 实 施 工 作 通 知 如 下 : 一 适 用 范 围 审 批 方 式 改 革 适 用 范 围 为 工 业 企 业 零 土 地 技 术 改 造 项 目, 即 工 浙 江 省 经 济 和 信 息 化 委 员 会 浙 江 省 公 安 消 防 总 队 浙 江 省 环 境 保 护 厅 浙 江 省 住 房 和 城 乡 建 设 厅 浙 江 省 安 全 生 产 监 督 管 理 局 浙 江 省 气 象 局 浙 经 信 投 资 2014 564 文 件 欗 欗 欗 欗 欗 欗 欗 欗 欗 欗 欗 欗 欗 欗 欗 欗 欗 欗 欗 欗 欗 欗 欗 欗 欗 欗 欗 欗 欗 欗 欗

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 177 [P179] (1) - [P181] [P182] (2) - for [P183] (3) - switch [P184] [P187] [P189] [P194] 178 [ ]; : : int var; : int var[3]; var 2293620 var[0] var[1] 2293620

More information

1.ai

1.ai HDMI camera ARTRAY CO,. LTD Introduction Thank you for purchasing the ARTCAM HDMI camera series. This manual shows the direction how to use the viewer software. Please refer other instructions or contact

More information

关 注 本 期 证 券 未 办 理 抵 押 权 转 让 变 更 登 记 本 期 证 券 发 起 机 构 转 让 信 托 财 产 时, 按 惯 例 并 未 办 理 抵 押 权 转 让 变 更 登 记, 而 由 委 托 人 在 有 管 辖 权 的 政 府 机 构 登 记 部 门 继 续 登 记 为 名

关 注 本 期 证 券 未 办 理 抵 押 权 转 让 变 更 登 记 本 期 证 券 发 起 机 构 转 让 信 托 财 产 时, 按 惯 例 并 未 办 理 抵 押 权 转 让 变 更 登 记, 而 由 委 托 人 在 有 管 辖 权 的 政 府 机 构 登 记 部 门 继 续 登 记 为 名 优 势 基 础 资 产 信 用 质 量 很 好 入 池 贷 款 借 款 人 加 权 平 均 年 龄 37.04 岁, 借 款 人 年 龄 在 30~40( 含 ) 岁 的 贷 款 未 偿 本 金 余 额 占 入 池 贷 款 总 额 的 40.10%, 该 年 龄 段 借 款 人 一 般 收 入 较 为 稳 定, 多 处 于 职 业 及 收 入 的 上 升 期, 家 庭 状 况 较 为 稳 定, 还

More information

Microsoft Word - template.doc

Microsoft Word - template.doc HGC efax Service User Guide I. Getting Started Page 1 II. Fax Forward Page 2 4 III. Web Viewing Page 5 7 IV. General Management Page 8 12 V. Help Desk Page 13 VI. Logout Page 13 Page 0 I. Getting Started

More information

第7章-并行计算.ppt

第7章-并行计算.ppt EFEP90 10CDMP3 CD t 0 t 0 To pull a bigger wagon, it is easier to add more oxen than to grow a gigantic ox 10t 0 t 0 n p Ts Tp if E(n, p) < 1 p, then T (n) < T (n, p) s p S(n,p) = p : f(x)=sin(cos(x))

More information

_汪_文前新ok[3.1].doc

_汪_文前新ok[3.1].doc 普 通 高 校 本 科 计 算 机 专 业 特 色 教 材 精 选 四 川 大 学 计 算 机 学 院 国 家 示 范 性 软 件 学 院 精 品 课 程 基 金 青 年 基 金 资 助 项 目 C 语 言 程 序 设 计 (C99 版 ) 陈 良 银 游 洪 跃 李 旭 伟 主 编 李 志 蜀 唐 宁 九 李 涛 主 审 清 华 大 学 出 版 社 北 京 i 内 容 简 介 本 教 材 面 向

More information

民 國 105 年 大 專 程 度 義 務 役 預 備 軍 官 預 備 士 官 考 選 簡 章 目 錄 壹 考 選 依 據 1 貳 考 ( 甄 ) 選 對 象 1 參 資 格 規 定 1 肆 員 額 及 專 長 類 別 2 伍 報 名 及 選 填 志 願 日 期 方 式 3 陸 選 填 官 科 (

民 國 105 年 大 專 程 度 義 務 役 預 備 軍 官 預 備 士 官 考 選 簡 章 目 錄 壹 考 選 依 據 1 貳 考 ( 甄 ) 選 對 象 1 參 資 格 規 定 1 肆 員 額 及 專 長 類 別 2 伍 報 名 及 選 填 志 願 日 期 方 式 3 陸 選 填 官 科 ( 民 國 105 年 大 專 程 度 義 務 役 預 備 軍 官 預 備 士 官 考 選 期 程 表 日 期 執 行 項 目 3 月 1 日 (8 時 起 ) 至 3 月 21 日 (17 時 止 ) 網 路 報 名 並 完 成 列 印 3 月 22 日 (17 時 止 ) 各 校 承 辦 人 員 收 報 名 件 截 止 3 月 30 日 4 月 11 日 5 月 18 日 5 月 27 日 (17

More information