Guest User

Untitled

a guest
Nov 20th, 2018
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Vala 2.39 KB | None | 0 0
  1. makefile
  2. ---------------------------------------------------------------------
  3. ALL:
  4.     valac-0.14 --pkg gtk+-3.0 --pkg gmodule-2.0 simplecase.vala -o simplecase
  5.     valac-0.14 --pkg gtk+-3.0 --pkg gmodule-2.0 simplecase.vala --ccode
  6.  
  7. simplecase.vala
  8. ---------------------------------------------------------------------
  9. using Gtk;
  10.  
  11. namespace Foo {
  12.     public class Bar : Object {
  13.         private bool try_me;
  14.         public Bar( ) {
  15.             this.try_me = false;
  16.  
  17.             try {
  18.                 var builder = new Builder( );
  19.                 builder.add_from_file( "test.glade" );
  20.                 builder.connect_signals( this );
  21.                 var window = builder.get_object( "window1" ) as Window;
  22.                 window.show_all( );
  23.             } catch( Error e ) {
  24.                 stdout.printf( "%s\n", e.message );
  25.             }
  26.         }
  27.    
  28.         [CCode( instance_pos=-1 )]
  29.         public void click_cb( Button btn ) {
  30.             stdout.printf( "clicked\n" );
  31.        
  32.             stdout.printf( "val: %s\n", this.try_me.to_string( ) );
  33.             GLib.error ("%p", this);
  34.         }
  35.  
  36.         public static void main( string[] args ) {
  37.             Gtk.init( ref args );
  38.             new Bar( );
  39.             Gtk.main( );
  40.         }
  41.     }
  42. }
  43.  
  44.  
  45. test.glade
  46. ---------------------------------------------------------------------
  47.  
  48. <?xml version="1.0" encoding="UTF-8"?>
  49. <interface>
  50.   <!-- interface-requires gtk+ 3.0 -->
  51.   <object class="GtkWindow" id="window1">
  52.     <property name="can_focus">False</property>
  53.     <signal name="destroy" handler="gtk_main_quit" swapped="no"/>
  54.     <child>
  55.       <object class="GtkBox" id="box1">
  56.         <property name="visible">True</property>
  57.         <property name="can_focus">False</property>
  58.         <property name="orientation">vertical</property>
  59.         <child>
  60.           <object class="GtkButton" id="button1">
  61.             <property name="label" translatable="yes">button</property>
  62.             <property name="use_action_appearance">False</property>
  63.             <property name="visible">True</property>
  64.             <property name="can_focus">True</property>
  65.             <property name="receives_default">True</property>
  66.             <property name="use_action_appearance">False</property>
  67.             <signal name="clicked" handler="foo_bar_click_cb" swapped="no"/>
  68.           </object>
  69.           <packing>
  70.             <property name="expand">False</property>
  71.             <property name="fill">True</property>
  72.             <property name="position">0</property>
  73.           </packing>
  74.         </child>
  75.       </object>
  76.     </child>
  77.   </object>
  78. </interface>
Add Comment
Please, Sign In to add comment