knjrbfw 0.0.65 → 0.0.66

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.65
1
+ 0.0.66
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{knjrbfw}
8
- s.version = "0.0.65"
8
+ s.version = "0.0.66"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Kasper Johansen"]
@@ -91,6 +91,7 @@ Gem::Specification.new do |s|
91
91
  "lib/knj/gtk2.rb",
92
92
  "lib/knj/gtk2_cb.rb",
93
93
  "lib/knj/gtk2_menu.rb",
94
+ "lib/knj/gtk2_msgbox.rb",
94
95
  "lib/knj/gtk2_statuswindow.rb",
95
96
  "lib/knj/gtk2_tv.rb",
96
97
  "lib/knj/gtk2_window.rb",
@@ -619,6 +619,15 @@ class Knj::Datarow
619
619
  # print "That user is deleted." if user.deleted?
620
620
  def deleted?
621
621
  return true if !@ob and !@data and !@id
622
+
623
+ #Try to reload data. Destroy object and return true if the row is gone from the database.
624
+ begin
625
+ self.reload
626
+ rescue Errno::ENOENT
627
+ self.destroy
628
+ return true
629
+ end
630
+
622
631
  return false
623
632
  end
624
633
 
@@ -73,7 +73,7 @@ class Knj::Datarow_custom
73
73
  end
74
74
 
75
75
  def deleted?
76
- return true if @data
76
+ return true if !@data
77
77
  return false
78
78
  end
79
79
 
@@ -1,13 +1,14 @@
1
1
  #Contains various methods for doing stuff quick using the Gtk2-extension.
2
- module Knj::Gtk2
2
+ class Knj::Gtk2
3
3
  #Autoloader.
4
4
  def self.const_missing(name)
5
5
  require "#{$knjpath}gtk2_#{name.to_s.downcase}"
6
- return Knj::Gtk2.const_get(name)
6
+ return Knj::Gtk2.const_get(name) if Knj::Gtk2.const_defined?(name)
7
+ raise "Could not load constant: '#{name}'."
7
8
  end
8
9
 
9
10
  #Alias for self.msgbox.
10
- def msgbox(*args, &block)
11
+ def self.msgbox(*args, &block)
11
12
  return Knj::Gtk2.msgbox(*args, &block)
12
13
  end
13
14
 
@@ -16,6 +17,8 @@ module Knj::Gtk2
16
17
  # Knj::Gtk2.msgbox("Message", "Title", "info")
17
18
  # Knj::Gtk2.msgbox("Question", "Title", "yesno") #=> "yes"|"no"|"cancel"|"close"
18
19
  def self.msgbox(paras, type = "warning", title = nil)
20
+ raise "A message-box is already shown." if Knj::Gtk2::Msgbox.shown?
21
+
19
22
  if paras.is_a?(Array)
20
23
  msg = paras[0]
21
24
  title = paras[2]
@@ -118,6 +121,12 @@ module Knj::Gtk2
118
121
  dialog.has_separator = false
119
122
  dialog.show_all
120
123
 
124
+ #Make the current-functionality work.
125
+ Knj::Gtk2::Msgbox::DATA[:current] = dialog
126
+ dialog.signal_connect(:destroy) do
127
+ Knj::Gtk2::Msgbox::DATA[:current] = nil if Knj::Gtk2::Msgbox::DATA[:current].__id__ == dialog.__id__
128
+ end
129
+
121
130
  if type == "list"
122
131
  dialog.set_size_request(250, 370)
123
132
  tv.grab_focus
@@ -0,0 +1,26 @@
1
+ #This class holds various methods for message-box-functionality and debugging.
2
+ class Knj::Gtk2::Msgbox
3
+ #This hash contains various data like the currently shown message-box.
4
+ DATA = {}
5
+
6
+ #Returns the label of the currently shown message-box.
7
+ def self.cur_label
8
+ raise "No message-box currentl shown." if !Knj::Gtk2::Msgbox::DATA[:current]
9
+ return Knj::Gtk2::Msgbox::DATA[:current].children.first.children.first.children.last.label
10
+ end
11
+
12
+ #Send a response to the currently shown message-box.
13
+ def self.cur_respond(response)
14
+ raise "No message-box currentl shown." if !Knj::Gtk2::Msgbox::DATA[:current]
15
+ id = Knj::Gtk2::Msgbox::DATA[:current].__id__
16
+ Knj::Gtk2::Msgbox::DATA[:current].response(response)
17
+ Thread.pass while Knj::Gtk2::Msgbox::DATA[:current] and Knj::Gtk2::Msgbox::DATA[:current].__id__ == id
18
+ nil
19
+ end
20
+
21
+ #Returns true if a message-box is currently shown.
22
+ def self.shown?
23
+ return true if Knj::Gtk2::Msgbox::DATA[:current]
24
+ return false
25
+ end
26
+ end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: knjrbfw
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.65
5
+ version: 0.0.66
6
6
  platform: ruby
7
7
  authors:
8
8
  - Kasper Johansen
@@ -207,6 +207,7 @@ files:
207
207
  - lib/knj/gtk2.rb
208
208
  - lib/knj/gtk2_cb.rb
209
209
  - lib/knj/gtk2_menu.rb
210
+ - lib/knj/gtk2_msgbox.rb
210
211
  - lib/knj/gtk2_statuswindow.rb
211
212
  - lib/knj/gtk2_tv.rb
212
213
  - lib/knj/gtk2_window.rb
@@ -398,7 +399,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
398
399
  requirements:
399
400
  - - ">="
400
401
  - !ruby/object:Gem::Version
401
- hash: 2403653204040421872
402
+ hash: 2724841403555632511
402
403
  segments:
403
404
  - 0
404
405
  version: "0"