knjrbfw 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.document +5 -0
- data/.rspec +1 -0
- data/Gemfile +14 -0
- data/Gemfile.lock +32 -0
- data/LICENSE.txt +20 -0
- data/README.rdoc +19 -0
- data/Rakefile +49 -0
- data/VERSION +1 -0
- data/lib/knj/.gitignore +1 -0
- data/lib/knj/arrayext.rb +157 -0
- data/lib/knj/autoload/activesupport.rb +2 -0
- data/lib/knj/autoload/backups/facets_dictionary.rb +430 -0
- data/lib/knj/autoload/backups/parsedate.rb +53 -0
- data/lib/knj/autoload/backups/ping.rb +64 -0
- data/lib/knj/autoload/cinch.rb +2 -0
- data/lib/knj/autoload/erubis.rb +6 -0
- data/lib/knj/autoload/facebooker.rb +3 -0
- data/lib/knj/autoload/facets_dictionary.rb +7 -0
- data/lib/knj/autoload/gd2.rb +2 -0
- data/lib/knj/autoload/gettext.rb +9 -0
- data/lib/knj/autoload/gtk2.rb +5 -0
- data/lib/knj/autoload/json_autoload.rb +7 -0
- data/lib/knj/autoload/magick.rb +6 -0
- data/lib/knj/autoload/mysql.rb +6 -0
- data/lib/knj/autoload/parsedate.rb +1 -0
- data/lib/knj/autoload/ping.rb +64 -0
- data/lib/knj/autoload/rexml.rb +12 -0
- data/lib/knj/autoload/soap.rb +3 -0
- data/lib/knj/autoload/sqlite3.rb +6 -0
- data/lib/knj/autoload/tmail.rb +6 -0
- data/lib/knj/autoload/twitter.rb +2 -0
- data/lib/knj/autoload/xmlsimple.rb +6 -0
- data/lib/knj/autoload/zip.rb +6 -0
- data/lib/knj/autoload.rb +136 -0
- data/lib/knj/compiler.rb +53 -0
- data/lib/knj/cpufreq.rb +40 -0
- data/lib/knj/datarow.rb +256 -0
- data/lib/knj/datestamp.rb +91 -0
- data/lib/knj/datet.rb +448 -0
- data/lib/knj/degulesider.rb +46 -0
- data/lib/knj/erb/apache_knjerb.conf +8 -0
- data/lib/knj/erb/cache/README +1 -0
- data/lib/knj/erb/erb.rb +21 -0
- data/lib/knj/erb/erb_1.9.rb +13 -0
- data/lib/knj/erb/erb_cache_clean.rb +20 -0
- data/lib/knj/erb/erb_fcgi.rb +44 -0
- data/lib/knj/erb/erb_fcgi_1.9.rb +44 -0
- data/lib/knj/erb/erb_fcgi_jruby.rb +7 -0
- data/lib/knj/erb/erb_jruby.rb +22 -0
- data/lib/knj/erb/include.rb +248 -0
- data/lib/knj/errors.rb +19 -0
- data/lib/knj/eruby.rb +224 -0
- data/lib/knj/event_filemod.rb +53 -0
- data/lib/knj/event_handler.rb +69 -0
- data/lib/knj/exchangerates.rb +39 -0
- data/lib/knj/ext/webrick.rb +31 -0
- data/lib/knj/filesystem.rb +8 -0
- data/lib/knj/fs/drivers/filesystem.rb +14 -0
- data/lib/knj/fs/drivers/ftp.rb +33 -0
- data/lib/knj/fs/drivers/ssh.rb +28 -0
- data/lib/knj/fs/fs.rb +36 -0
- data/lib/knj/gettext_fallback.rb +17 -0
- data/lib/knj/gettext_threadded.rb +77 -0
- data/lib/knj/google_sitemap.rb +59 -0
- data/lib/knj/gtk2.rb +277 -0
- data/lib/knj/gtk2_cb.rb +85 -0
- data/lib/knj/gtk2_menu.rb +57 -0
- data/lib/knj/gtk2_statuswindow.rb +64 -0
- data/lib/knj/gtk2_tv.rb +63 -0
- data/lib/knj/hash_methods.rb +37 -0
- data/lib/knj/http.rb +190 -0
- data/lib/knj/includes/appserver_cli.rb +39 -0
- data/lib/knj/ip2location.rb +22 -0
- data/lib/knj/ironruby-gtk2/button.rb +19 -0
- data/lib/knj/ironruby-gtk2/dialog.rb +44 -0
- data/lib/knj/ironruby-gtk2/entry.rb +9 -0
- data/lib/knj/ironruby-gtk2/gdk_event.rb +3 -0
- data/lib/knj/ironruby-gtk2/gdk_eventbutton.rb +13 -0
- data/lib/knj/ironruby-gtk2/gdk_pixbuf.rb +11 -0
- data/lib/knj/ironruby-gtk2/gladexml.rb +104 -0
- data/lib/knj/ironruby-gtk2/glib.rb +15 -0
- data/lib/knj/ironruby-gtk2/gtk2.rb +148 -0
- data/lib/knj/ironruby-gtk2/gtk_builder.rb +31 -0
- data/lib/knj/ironruby-gtk2/gtk_cellrenderertext.rb +5 -0
- data/lib/knj/ironruby-gtk2/gtk_combobox.rb +19 -0
- data/lib/knj/ironruby-gtk2/gtk_filechooserbutton.rb +5 -0
- data/lib/knj/ironruby-gtk2/gtk_liststore.rb +18 -0
- data/lib/knj/ironruby-gtk2/gtk_menu.rb +5 -0
- data/lib/knj/ironruby-gtk2/gtk_menuitem.rb +7 -0
- data/lib/knj/ironruby-gtk2/gtk_statusicon.rb +8 -0
- data/lib/knj/ironruby-gtk2/gtk_treeiter.rb +24 -0
- data/lib/knj/ironruby-gtk2/gtk_treeselection.rb +16 -0
- data/lib/knj/ironruby-gtk2/gtk_treeview.rb +19 -0
- data/lib/knj/ironruby-gtk2/gtk_treeviewcolumn.rb +32 -0
- data/lib/knj/ironruby-gtk2/iconsize.rb +3 -0
- data/lib/knj/ironruby-gtk2/image.rb +15 -0
- data/lib/knj/ironruby-gtk2/label.rb +19 -0
- data/lib/knj/ironruby-gtk2/stock.rb +4 -0
- data/lib/knj/ironruby-gtk2/tests/test.glade +15 -0
- data/lib/knj/ironruby-gtk2/tests/test_2.rb +22 -0
- data/lib/knj/ironruby-gtk2/tests/test_ironruby_window.rb +47 -0
- data/lib/knj/ironruby-gtk2/vbox.rb +5 -0
- data/lib/knj/ironruby-gtk2/window.rb +23 -0
- data/lib/knj/jruby-gtk2/builder/test_builder.glade +43 -0
- data/lib/knj/jruby-gtk2/builder/test_builder.rb +19 -0
- data/lib/knj/jruby-gtk2/builder/test_builder.ui +43 -0
- data/lib/knj/jruby-gtk2/builder.rb +27 -0
- data/lib/knj/jruby-gtk2/cellrenderertext.rb +12 -0
- data/lib/knj/jruby-gtk2/checkbutton.rb +3 -0
- data/lib/knj/jruby-gtk2/combobox.rb +29 -0
- data/lib/knj/jruby-gtk2/dialog.rb +44 -0
- data/lib/knj/jruby-gtk2/eventbutton.rb +21 -0
- data/lib/knj/jruby-gtk2/gladexml.rb +99 -0
- data/lib/knj/jruby-gtk2/gtk-4.0.jar +0 -0
- data/lib/knj/jruby-gtk2/gtk2.rb +246 -0
- data/lib/knj/jruby-gtk2/hbox.rb +10 -0
- data/lib/knj/jruby-gtk2/iconsize.rb +5 -0
- data/lib/knj/jruby-gtk2/image.rb +10 -0
- data/lib/knj/jruby-gtk2/liststore.rb +56 -0
- data/lib/knj/jruby-gtk2/menu.rb +40 -0
- data/lib/knj/jruby-gtk2/progressbar.rb +12 -0
- data/lib/knj/jruby-gtk2/statusicon.rb +8 -0
- data/lib/knj/jruby-gtk2/stock.rb +8 -0
- data/lib/knj/jruby-gtk2/tests/test_glade_window.glade +163 -0
- data/lib/knj/jruby-gtk2/tests/test_glade_window.rb +47 -0
- data/lib/knj/jruby-gtk2/tests/test_normal_window.rb +17 -0
- data/lib/knj/jruby-gtk2/tests/test_trayicon.png +0 -0
- data/lib/knj/jruby-gtk2/tests/test_trayicon.rb +18 -0
- data/lib/knj/jruby-gtk2/treeview.rb +105 -0
- data/lib/knj/jruby-gtk2/vbox.rb +12 -0
- data/lib/knj/jruby-gtk2/window.rb +11 -0
- data/lib/knj/jruby_compiler.rb +14 -0
- data/lib/knj/knj.rb +19 -0
- data/lib/knj/knj_controller.rb +13 -0
- data/lib/knj/knjdb/dbtime.rb +30 -0
- data/lib/knj/knjdb/drivers/mysql/knjdb_mysql.rb +327 -0
- data/lib/knj/knjdb/drivers/mysql/knjdb_mysql_columns.rb +130 -0
- data/lib/knj/knjdb/drivers/mysql/knjdb_mysql_indexes.rb +30 -0
- data/lib/knj/knjdb/drivers/mysql/knjdb_mysql_tables.rb +255 -0
- data/lib/knj/knjdb/drivers/sqlite3/knjdb_sqlite3.rb +93 -0
- data/lib/knj/knjdb/drivers/sqlite3/knjdb_sqlite3_columns.rb +151 -0
- data/lib/knj/knjdb/drivers/sqlite3/knjdb_sqlite3_indexes.rb +29 -0
- data/lib/knj/knjdb/drivers/sqlite3/knjdb_sqlite3_tables.rb +300 -0
- data/lib/knj/knjdb/libknjdb.rb +438 -0
- data/lib/knj/knjdb/libknjdb_java_sqlite3.rb +83 -0
- data/lib/knj/knjdb/libknjdb_row.rb +149 -0
- data/lib/knj/knjdb/libknjdb_sqlite3_ironruby.rb +69 -0
- data/lib/knj/knjdb/mysql-connector-java-5.1.13-bin.jar +0 -0
- data/lib/knj/knjdb/sqlitejdbc-v056.jar +0 -0
- data/lib/knj/libqt.rb +75 -0
- data/lib/knj/libqt_window.rb +10 -0
- data/lib/knj/locale_strings.rb +3 -0
- data/lib/knj/locales.rb +54 -0
- data/lib/knj/maemo/fremantle-calendar/fremantle-calendar.rb +56 -0
- data/lib/knj/mail.rb +75 -0
- data/lib/knj/mailobj.rb +82 -0
- data/lib/knj/mount.rb +115 -0
- data/lib/knj/notify.rb +13 -0
- data/lib/knj/nvidia_settings.rb +45 -0
- data/lib/knj/objects.rb +731 -0
- data/lib/knj/opts.rb +38 -0
- data/lib/knj/os.rb +158 -0
- data/lib/knj/php.rb +717 -0
- data/lib/knj/php_parser/arguments.rb +5 -0
- data/lib/knj/php_parser/functions.rb +97 -0
- data/lib/knj/php_parser/php_parser.rb +99 -0
- data/lib/knj/php_parser/tests/test.rb +12 -0
- data/lib/knj/php_parser/tests/test_function.php +8 -0
- data/lib/knj/php_parser/tests/test_function_run.rb +19 -0
- data/lib/knj/power_manager.rb +31 -0
- data/lib/knj/rand.rb +10 -0
- data/lib/knj/retry.rb +71 -0
- data/lib/knj/rhodes/mutex.rb +11 -0
- data/lib/knj/rhodes/rhodes.js +3 -0
- data/lib/knj/rhodes/rhodes.rb +11 -0
- data/lib/knj/rsvgbin.rb +20 -0
- data/lib/knj/scripts/degulesider.rb +12 -0
- data/lib/knj/scripts/filesearch.rb +51 -0
- data/lib/knj/scripts/ip2location.rb +12 -0
- data/lib/knj/scripts/keepalive.rb +6 -0
- data/lib/knj/scripts/svn_merge.rb +29 -0
- data/lib/knj/scripts/upgrade_knjrbfw_checker.rb +41 -0
- data/lib/knj/sms.rb +54 -0
- data/lib/knj/sshrobot/sshrobot.rb +93 -0
- data/lib/knj/strings.rb +65 -0
- data/lib/knj/sysuser.rb +27 -0
- data/lib/knj/tests/compiler/compiler_test.rb +13 -0
- data/lib/knj/tests/compiler/compiler_test_file.rb +62 -0
- data/lib/knj/tests/test_degulesider.rb +11 -0
- data/lib/knj/tests/test_mount.rb +30 -0
- data/lib/knj/tests/test_retry.rb +30 -0
- data/lib/knj/thread.rb +32 -0
- data/lib/knj/thread2.rb +47 -0
- data/lib/knj/threadhandler.rb +130 -0
- data/lib/knj/threadpool.rb +177 -0
- data/lib/knj/translations.rb +139 -0
- data/lib/knj/unix_proc.rb +82 -0
- data/lib/knj/web.rb +932 -0
- data/lib/knj/webscripts/image.rhtml +82 -0
- data/lib/knj/win.rb +4 -0
- data/lib/knj/win_registry.rb +60 -0
- data/lib/knj/win_tightvnc.rb +127 -0
- data/lib/knj/x11vnc.rb +48 -0
- data/lib/knj/youtube.rb +38 -0
- data/lib/knjrbfw.rb +4 -0
- data/spec/knjrbfw_spec.rb +269 -0
- data/spec/spec_helper.rb +12 -0
- metadata +336 -0
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
<?xml version="1.0"?>
|
|
2
|
+
<glade-interface>
|
|
3
|
+
<!-- interface-requires gtk+ 2.16 -->
|
|
4
|
+
<!-- interface-naming-policy project-wide -->
|
|
5
|
+
<widget class="GtkWindow" id="window">
|
|
6
|
+
<property name="title" translatable="yes">Edit application</property>
|
|
7
|
+
<property name="window_position">center</property>
|
|
8
|
+
<property name="default_width">640</property>
|
|
9
|
+
<property name="default_height">480</property>
|
|
10
|
+
<signal name="destroy" handler="on_window_destroy"/>
|
|
11
|
+
<child>
|
|
12
|
+
<widget class="GtkVBox" id="vbox1">
|
|
13
|
+
<property name="visible">True</property>
|
|
14
|
+
<child>
|
|
15
|
+
<widget class="GtkFrame" id="frame1">
|
|
16
|
+
<property name="visible">True</property>
|
|
17
|
+
<property name="label_xalign">0</property>
|
|
18
|
+
<property name="shadow_type">none</property>
|
|
19
|
+
<child>
|
|
20
|
+
<widget class="GtkAlignment" id="alignment1">
|
|
21
|
+
<property name="visible">True</property>
|
|
22
|
+
<property name="left_padding">12</property>
|
|
23
|
+
<child>
|
|
24
|
+
<widget class="GtkTable" id="table1">
|
|
25
|
+
<property name="visible">True</property>
|
|
26
|
+
<property name="n_columns">2</property>
|
|
27
|
+
<property name="column_spacing">3</property>
|
|
28
|
+
<property name="row_spacing">3</property>
|
|
29
|
+
<child>
|
|
30
|
+
<widget class="GtkLabel" id="label2">
|
|
31
|
+
<property name="visible">True</property>
|
|
32
|
+
<property name="xalign">0</property>
|
|
33
|
+
<property name="label" translatable="yes">Title</property>
|
|
34
|
+
</widget>
|
|
35
|
+
<packing>
|
|
36
|
+
<property name="x_options">GTK_FILL</property>
|
|
37
|
+
<property name="y_options">GTK_FILL</property>
|
|
38
|
+
</packing>
|
|
39
|
+
</child>
|
|
40
|
+
<child>
|
|
41
|
+
<widget class="GtkEntry" id="txtTitle">
|
|
42
|
+
<property name="visible">True</property>
|
|
43
|
+
<property name="can_focus">True</property>
|
|
44
|
+
<property name="invisible_char">●</property>
|
|
45
|
+
</widget>
|
|
46
|
+
<packing>
|
|
47
|
+
<property name="left_attach">1</property>
|
|
48
|
+
<property name="right_attach">2</property>
|
|
49
|
+
</packing>
|
|
50
|
+
</child>
|
|
51
|
+
</widget>
|
|
52
|
+
</child>
|
|
53
|
+
</widget>
|
|
54
|
+
</child>
|
|
55
|
+
<child>
|
|
56
|
+
<widget class="GtkLabel" id="label1">
|
|
57
|
+
<property name="visible">True</property>
|
|
58
|
+
<property name="label" translatable="yes"><b>Enter information and save</b></property>
|
|
59
|
+
<property name="use_markup">True</property>
|
|
60
|
+
</widget>
|
|
61
|
+
<packing>
|
|
62
|
+
<property name="type">label_item</property>
|
|
63
|
+
</packing>
|
|
64
|
+
</child>
|
|
65
|
+
</widget>
|
|
66
|
+
<packing>
|
|
67
|
+
<property name="expand">False</property>
|
|
68
|
+
<property name="position">0</property>
|
|
69
|
+
</packing>
|
|
70
|
+
</child>
|
|
71
|
+
<child>
|
|
72
|
+
<widget class="GtkHButtonBox" id="hbuttonbox1">
|
|
73
|
+
<property name="visible">True</property>
|
|
74
|
+
<property name="spacing">4</property>
|
|
75
|
+
<property name="layout_style">end</property>
|
|
76
|
+
<child>
|
|
77
|
+
<widget class="GtkButton" id="btnSave">
|
|
78
|
+
<property name="label">gtk-save</property>
|
|
79
|
+
<property name="visible">True</property>
|
|
80
|
+
<property name="can_focus">True</property>
|
|
81
|
+
<property name="receives_default">True</property>
|
|
82
|
+
<property name="use_stock">True</property>
|
|
83
|
+
<signal name="clicked" handler="on_btnSave_clicked"/>
|
|
84
|
+
</widget>
|
|
85
|
+
<packing>
|
|
86
|
+
<property name="expand">False</property>
|
|
87
|
+
<property name="fill">False</property>
|
|
88
|
+
<property name="position">0</property>
|
|
89
|
+
</packing>
|
|
90
|
+
</child>
|
|
91
|
+
<child>
|
|
92
|
+
<widget class="GtkButton" id="btnCancel">
|
|
93
|
+
<property name="label">gtk-cancel</property>
|
|
94
|
+
<property name="visible">True</property>
|
|
95
|
+
<property name="can_focus">True</property>
|
|
96
|
+
<property name="receives_default">True</property>
|
|
97
|
+
<property name="use_stock">True</property>
|
|
98
|
+
<signal name="clicked" handler="on_btnCancel_clicked"/>
|
|
99
|
+
</widget>
|
|
100
|
+
<packing>
|
|
101
|
+
<property name="expand">False</property>
|
|
102
|
+
<property name="fill">False</property>
|
|
103
|
+
<property name="position">1</property>
|
|
104
|
+
</packing>
|
|
105
|
+
</child>
|
|
106
|
+
</widget>
|
|
107
|
+
<packing>
|
|
108
|
+
<property name="expand">False</property>
|
|
109
|
+
<property name="padding">4</property>
|
|
110
|
+
<property name="position">1</property>
|
|
111
|
+
</packing>
|
|
112
|
+
</child>
|
|
113
|
+
<child>
|
|
114
|
+
<widget class="GtkFrame" id="frame2">
|
|
115
|
+
<property name="visible">True</property>
|
|
116
|
+
<property name="label_xalign">0</property>
|
|
117
|
+
<property name="shadow_type">none</property>
|
|
118
|
+
<child>
|
|
119
|
+
<widget class="GtkAlignment" id="alignment2">
|
|
120
|
+
<property name="visible">True</property>
|
|
121
|
+
<property name="left_padding">12</property>
|
|
122
|
+
<child>
|
|
123
|
+
<widget class="GtkViewport" id="viewport1">
|
|
124
|
+
<property name="visible">True</property>
|
|
125
|
+
<property name="resize_mode">queue</property>
|
|
126
|
+
<child>
|
|
127
|
+
<widget class="GtkScrolledWindow" id="scrolledwindow1">
|
|
128
|
+
<property name="visible">True</property>
|
|
129
|
+
<property name="can_focus">True</property>
|
|
130
|
+
<property name="hscrollbar_policy">automatic</property>
|
|
131
|
+
<property name="vscrollbar_policy">automatic</property>
|
|
132
|
+
<child>
|
|
133
|
+
<widget class="GtkTreeView" id="tvTest">
|
|
134
|
+
<property name="visible">True</property>
|
|
135
|
+
<property name="can_focus">True</property>
|
|
136
|
+
<signal name="row_activated" handler="on_tvTest_row_activated"/>
|
|
137
|
+
</widget>
|
|
138
|
+
</child>
|
|
139
|
+
</widget>
|
|
140
|
+
</child>
|
|
141
|
+
</widget>
|
|
142
|
+
</child>
|
|
143
|
+
</widget>
|
|
144
|
+
</child>
|
|
145
|
+
<child>
|
|
146
|
+
<widget class="GtkLabel" id="label3">
|
|
147
|
+
<property name="visible">True</property>
|
|
148
|
+
<property name="label" translatable="yes"><b>TreeView test</b></property>
|
|
149
|
+
<property name="use_markup">True</property>
|
|
150
|
+
</widget>
|
|
151
|
+
<packing>
|
|
152
|
+
<property name="type">label_item</property>
|
|
153
|
+
</packing>
|
|
154
|
+
</child>
|
|
155
|
+
</widget>
|
|
156
|
+
<packing>
|
|
157
|
+
<property name="position">2</property>
|
|
158
|
+
</packing>
|
|
159
|
+
</child>
|
|
160
|
+
</widget>
|
|
161
|
+
</child>
|
|
162
|
+
</widget>
|
|
163
|
+
</glade-interface>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
#!/usr/bin/jruby
|
|
2
|
+
|
|
3
|
+
require "knj/autoload"
|
|
4
|
+
require "knj/gtk2_tv"
|
|
5
|
+
|
|
6
|
+
class WinAppEdit
|
|
7
|
+
def initialize
|
|
8
|
+
print "Loading Glade.\n"
|
|
9
|
+
@glade = GladeXML.new("test_glade_window.glade"){|h|method(h)}
|
|
10
|
+
print "Done loading glade.\n"
|
|
11
|
+
|
|
12
|
+
@glade["tvTest"].selection.signal_connect("changed") do
|
|
13
|
+
print "test\n"
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
@glade["tvTest"].init(["ID", "Title"])
|
|
17
|
+
@glade["tvTest"].append(["Test1", "Test2"])
|
|
18
|
+
|
|
19
|
+
@glade["window"].show_all
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def on_tvTest_row_activated
|
|
23
|
+
#print "Test\n"
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def on_btnSave_clicked(arg1)
|
|
27
|
+
print arg1.to_s + "\n"
|
|
28
|
+
print "Save clicked.\n"
|
|
29
|
+
|
|
30
|
+
val = @glade["tvTest"].sel
|
|
31
|
+
Knj::Php.print_r(val)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def on_btnCancel_clicked
|
|
35
|
+
print "Cancel clicked.\n"
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def on_window_destroy
|
|
39
|
+
print "Destroyed!\n"
|
|
40
|
+
Gtk.main_quit
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
print "Starting app.\n"
|
|
45
|
+
WinAppEdit.new
|
|
46
|
+
|
|
47
|
+
Gtk.main
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
require "knj/autoload"
|
|
2
|
+
|
|
3
|
+
button = Gtk::Button.new("Test")
|
|
4
|
+
button.signal_connect("clicked") do
|
|
5
|
+
print "Clicked!\n"
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
win = Gtk::Window.new("Trala")
|
|
9
|
+
win.add(button)
|
|
10
|
+
win.show_all
|
|
11
|
+
|
|
12
|
+
win.signal_connect("destroy") do
|
|
13
|
+
print "Destroy!\n"
|
|
14
|
+
Gtk.main_quit
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
Gtk.main
|
|
Binary file
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#!/usr/bin/jruby
|
|
2
|
+
|
|
3
|
+
require "knj/autoload"
|
|
4
|
+
|
|
5
|
+
pixbuf = Gdk::Pixbuf.new("test_trayicon.png")
|
|
6
|
+
|
|
7
|
+
icon = Gtk::StatusIcon.new
|
|
8
|
+
icon.pixbuf = pixbuf
|
|
9
|
+
|
|
10
|
+
icon.signal_connect("activate") do
|
|
11
|
+
print "Activate\n"
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
icon.signal_connect("popup-menu") do
|
|
15
|
+
print "Popup-menu\n"
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
Gtk.main
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
Gtk.events << ["TreeView", "row_activated", org.gnome.gtk.TreeView::RowActivated, :onRowActivated, nil]
|
|
2
|
+
Gtk.events << ["TreeSelection", "changed", org.gnome.gtk.TreeSelection::Changed, :onChanged, nil]
|
|
3
|
+
|
|
4
|
+
class Gtk::TreeView
|
|
5
|
+
def set_model(newmodel)
|
|
6
|
+
@knj_model = newmodel
|
|
7
|
+
@ob.model = newmodel.ob
|
|
8
|
+
newmodel.tv = self
|
|
9
|
+
|
|
10
|
+
$knj_jruby_gtk_last_treeview = self
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
alias :model= :set_model
|
|
14
|
+
|
|
15
|
+
def append_column(column)
|
|
16
|
+
#do nothing - the Java mode should already have done this.
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def model
|
|
20
|
+
return @knj_model
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def columns
|
|
24
|
+
return TreeViewColumns.new(self)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def selection
|
|
28
|
+
if !@tsel
|
|
29
|
+
Gtk.takeob = @ob.selection
|
|
30
|
+
@tsel = Gtk::TreeSelection.new
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
return @tsel
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
class TreeViewColumns < Array
|
|
38
|
+
def initialize(treeview)
|
|
39
|
+
@treeview = treeview
|
|
40
|
+
@treeview.ob.columns.each do |column|
|
|
41
|
+
Gtk.takeob = column
|
|
42
|
+
self << Gtk::TreeViewColumn.new(nil, nil)
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
class Gtk::TreeSelection
|
|
48
|
+
def initialize(val1 = nil)
|
|
49
|
+
if Gtk.takeob
|
|
50
|
+
@ob = Gtk.takeob
|
|
51
|
+
Gtk.takeob = nil
|
|
52
|
+
else
|
|
53
|
+
@ob = @treeview.ob.append_column
|
|
54
|
+
@ob.title = title
|
|
55
|
+
renderer.init(self)
|
|
56
|
+
colstring = @treeview.model.dcol[@treeview.columns.length - 1]
|
|
57
|
+
renderer.text = colstring
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
class Gtk::TreeViewColumn
|
|
63
|
+
def initialize(title, renderer, last_args = {})
|
|
64
|
+
@treeview = $knj_jruby_gtk_last_treeview
|
|
65
|
+
|
|
66
|
+
if Gtk.takeob
|
|
67
|
+
@ob = Gtk.takeob
|
|
68
|
+
Gtk.takeob = nil
|
|
69
|
+
else
|
|
70
|
+
@ob = @treeview.ob.append_column
|
|
71
|
+
@ob.title = title
|
|
72
|
+
$knj_jruby_gtk_last_treeview_column = self
|
|
73
|
+
renderer.init(self)
|
|
74
|
+
colstring = @treeview.model.dcol[@treeview.columns.length - 1]
|
|
75
|
+
renderer.text = colstring
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
def set_visible(newval)
|
|
80
|
+
@treeview.remove_column(@ob)
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
alias visible= set_visible
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
class Gtk::TreeIter
|
|
87
|
+
def []=(key, value)
|
|
88
|
+
dcol = @knj_model.dcol[key]
|
|
89
|
+
@knj_model.ob.set_value(@ob, dcol, value)
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
def [](key)
|
|
93
|
+
tv = @knj_model.tv
|
|
94
|
+
selected = tv.ob.get_selection.get_selected_rows
|
|
95
|
+
|
|
96
|
+
iter = @knj_model.ob.get_iter(selected[0])
|
|
97
|
+
dcol = @knj_model.dcol[key]
|
|
98
|
+
|
|
99
|
+
return @knj_model.ob.get_value(iter, dcol)
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
def model=(newmodel)
|
|
103
|
+
@knj_model = newmodel
|
|
104
|
+
end
|
|
105
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
class Gtk::VBox
|
|
2
|
+
def initialize
|
|
3
|
+
if Gtk.takeob
|
|
4
|
+
@ob = Gtk.takeob
|
|
5
|
+
Gtk.takeob = nil
|
|
6
|
+
else
|
|
7
|
+
splitted = self.class.to_s.split("::")
|
|
8
|
+
javaname = "org.gnome." + splitted.first.downcase + "." + splitted.last
|
|
9
|
+
@ob = Gtk.evalob(javaname).new(false, 0)
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
Gtk.events << ["Window", "destroy", org.gnome.gtk.Window::DeleteEvent, :onDeleteEvent, false]
|
|
2
|
+
|
|
3
|
+
class Gtk::Window
|
|
4
|
+
def destroy
|
|
5
|
+
@ob.hide #destroy does not exist in the Java-version? - knj
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def set_frame_dimensions(arg1, arg2, arg3, arg4)
|
|
9
|
+
@ob.border_width = arg1
|
|
10
|
+
end
|
|
11
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
class Knj::Jruby_compiler
|
|
2
|
+
def initialize(args = {})
|
|
3
|
+
@args = args
|
|
4
|
+
|
|
5
|
+
factory = javax.script.ScriptEngineManager.new
|
|
6
|
+
engine = factory.getEngineByName("jruby")
|
|
7
|
+
code = File.read(args[:path])
|
|
8
|
+
@script = engine.compile(code)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def run
|
|
12
|
+
@script.eval
|
|
13
|
+
end
|
|
14
|
+
end
|
data/lib/knj/knj.rb
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
if $knjpath
|
|
2
|
+
autoload_path = "#{$knjpath}autoload.rb"
|
|
3
|
+
else
|
|
4
|
+
autoload_path = "#{File.dirname(__FILE__)}/autoload.rb"
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
require autoload_path
|
|
8
|
+
|
|
9
|
+
module Knj
|
|
10
|
+
def self.appserver_cli(filename)
|
|
11
|
+
Knj::Os.chdir_file(filename)
|
|
12
|
+
require "#{$knjpath}/includes/appserver_cli.rb"
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def self.dirname(filepath)
|
|
16
|
+
raise "Filepath does not exist: #{filepath}" if !File.exists?(filepath)
|
|
17
|
+
return Knj::Php.realpath(File.dirname(filepath))
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#This files makes the framework able to receive calls from the Rhodes framework from RhoMobile.
|
|
2
|
+
class KnjController < Rho::RhoController
|
|
3
|
+
include BrowserHelper
|
|
4
|
+
|
|
5
|
+
#GET /Server
|
|
6
|
+
def index
|
|
7
|
+
render
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def html_links
|
|
11
|
+
System.open_url(@params["url"])
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
class Knj::Db::Dbtime
|
|
2
|
+
attr_reader :hours, :mins, :secs, :total_secs
|
|
3
|
+
|
|
4
|
+
def initialize(args)
|
|
5
|
+
args = {:time => args} if args.is_a?(String)
|
|
6
|
+
|
|
7
|
+
raise "Invalid arguments given." if !args.is_a?(Hash)
|
|
8
|
+
raise "No time given." if !args[:time]
|
|
9
|
+
raise "Invalid time given." if !args[:time].is_a?(String)
|
|
10
|
+
|
|
11
|
+
match = args[:time].match(/^(\d+):(\d+):(\d+)$/)
|
|
12
|
+
raise "Could not understand time format." if !match
|
|
13
|
+
|
|
14
|
+
@hours = match[1].to_i
|
|
15
|
+
@mins = match[2].to_i
|
|
16
|
+
@secs = match[3].to_i
|
|
17
|
+
|
|
18
|
+
@total_secs = @hours * 3600
|
|
19
|
+
@total_secs += @mins * 60
|
|
20
|
+
@total_secs += @secs
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def hours_total
|
|
24
|
+
return (@total_secs.to_f / 3600)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def mins_total
|
|
28
|
+
return (@total_secs.to_f / 60)
|
|
29
|
+
end
|
|
30
|
+
end
|