Advertisement
rotrevrep

json ui example

Jul 26th, 2013
269
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Vala 2.81 KB | None | 0 0
  1. using MeeGtk;
  2.  
  3. void main(string[] args){
  4.     init(null);
  5.     var toto = new Toto();
  6.     toto.show_all();
  7.     Gtk.main();
  8. }
  9.  
  10. public class Toto : GLib.Object
  11. {  
  12.     string s = """{
  13.     "interface" : [
  14.         {
  15.             "class" : 'GtkAdjustment',
  16.             "id" : 'adjustment1',
  17.             "properties" : {
  18.                 "upper" : 100,
  19.                 "step_increment" : 1,
  20.                 "page_increment" : 10
  21.             },
  22.             "children" : null
  23.         },
  24.         {
  25.             "class" : 'GtkWindow',
  26.             "id" : 'window',
  27.             "properties" : {
  28.                 "can_focus" : false
  29.             },
  30.             "children" : [
  31.                 {
  32.                     "class" : 'GtkBox',
  33.                     "id" : 'box1',
  34.                     "properties" : {
  35.                         "visible" : true,
  36.                         "can_focus" : false,
  37.                         "orientation" : 'vertical'
  38.                     },
  39.                     "children" : [
  40.                         {
  41.                             "class" : 'GtkProgressBar',
  42.                             "id" : 'progressbar1',
  43.                             "properties" : {
  44.                                 "visible" : true,
  45.                                 "can_focus" : false
  46.                             },
  47.                             "children" : null
  48.                         },
  49.                         {
  50.                             "class" : 'GtkSpinButton',
  51.                             "id" : 'spinbutton1',
  52.                             "properties" : {
  53.                                 "visible" : true,
  54.                                 "can_focus" : false,
  55.                                 "invisible_char" : '•',
  56.                                 "adjustment" : 'adjustment1'
  57.                             },
  58.                             "children" : null
  59.                         },
  60.                         {
  61.                             "class" : 'GtkImage',
  62.                             "id" : 'image1',
  63.                             "properties" : {
  64.                                 "visible" : true,
  65.                                 "can_focus" : false,
  66.                                 "stock" : 'gtk-missing-image'
  67.                             },
  68.                             "children" : null
  69.                         },
  70.                         {
  71.                             "class" : 'GtkMenuBar',
  72.                             "id" : 'menubar1',
  73.                             "properties" : {
  74.                                 "visible" : true,
  75.                                 "can_focus" : false
  76.                             },
  77.                             "children" : [
  78.                                 {
  79.                                     "class" : 'GtkMenuItem',
  80.                                     "id" : 'menuitem1',
  81.                                     "properties" : {
  82.                                         "visible" : true,
  83.                                         "can_focus" : false,
  84.                                         "label" : '_Fichier',
  85.                                         "use_underline" : true
  86.                                     },
  87.                                     "children" : [
  88.                                         {
  89.                                             "class" : 'GtkMenu',
  90.                                             "submenu" : true,
  91.                                             "id" : 'menu1',
  92.                                             "properties" : {
  93.                                                 "visible" : true,
  94.                                                 "can_focus" : false
  95.                                             },
  96.                                             "children" : [
  97.                                                 {
  98.                                                     "class" : 'GtkMenuItem',
  99.                                                     "id" : 'menuitem2',
  100.                                                     "properties" : {
  101.                                                         "visible" : true,
  102.                                                         "can_focus" : false,
  103.                                                         "label" : 'Menu',
  104.                                                         "use_underline" : true
  105.                                                     },
  106.                                                     "children" : null
  107.                                                 }
  108.                                             ]
  109.                                         }
  110.                                     ]
  111.                                 }
  112.                             ]
  113.                         }
  114.                     ]
  115.                 }
  116.             ]
  117.         }
  118.     ]
  119. }""";
  120.    
  121.     Gtk.Window window;
  122.    
  123.     public Toto(){
  124.         var c = new Constructor();
  125.         c.load_from_data(s);
  126.         c.connect_signals(this);
  127.         window = (Gtk.Window)c["window"];
  128.     }
  129.    
  130.     public void show_all(){ window.show_all(); }
  131.    
  132.     [CCode(instance_pos = -1)]
  133.     public void on_btn_clicked(Gtk.Widget widget){ Gtk.main_quit(); }
  134. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement