WxVanaClock 1.0.0 → 1.0.2

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/CHANGELOG CHANGED
@@ -1,3 +1,7 @@
1
+ == 1.0.2 / 2007-09-08
2
+
3
+ * rewritten to make use of VanaTime 2.0.0
4
+
1
5
  == 1.0.0 / 2007-09-04
2
6
 
3
7
  * initial version, ported over to wxWidgets
data/WxVanaClock.gemspec CHANGED
@@ -1,11 +1,11 @@
1
1
 
2
- # Gem::Specification for Wxvanaclock-1.0.0
2
+ # Gem::Specification for Wxvanaclock-1.0.2
3
3
  # Originally generated by Echoe
4
4
 
5
5
  Gem::Specification.new do |s|
6
6
  s.name = %q{WxVanaClock}
7
- s.version = "1.0.0"
8
- s.date = %q{2007-09-04}
7
+ s.version = "1.0.2"
8
+ s.date = %q{2007-09-08}
9
9
  s.summary = %q{WxVanaClock is a clock for Final Fantasy Online written using wxWidgets.}
10
10
  s.email = %q{ttilley@gmail.com}
11
11
  s.homepage = %q{http://vanatime.rubyforge.org/}
@@ -16,14 +16,14 @@ Gem::Specification.new do |s|
16
16
  s.authors = ["Travis Tilley"]
17
17
  s.files = ["README", "Manifest", "LICENSE", "lib/wxvc-xrc.xml", "lib/wx_vana_clock.rb", "CHANGELOG", "bin/WxVanaClock", "WxVanaClock.gemspec"]
18
18
  s.executables = ["WxVanaClock"]
19
- s.add_dependency(%q<VanaTime>, [">= 1.2.1"])
19
+ s.add_dependency(%q<VanaTime>, [">= 2.0.0"])
20
20
  s.add_dependency(%q<wxruby>, [">= 1.9.0"])
21
21
  end
22
22
 
23
23
 
24
24
  # # Original Rakefile source (requires the Echoe gem):
25
25
  #
26
- # version = "1.0.0"
26
+ # version = "1.0.2"
27
27
  #
28
28
  # ENV['RUBY_FLAGS'] = ""
29
29
  #
@@ -39,7 +39,7 @@ end
39
39
  # p.url = "http://vanatime.rubyforge.org/"
40
40
  # p.author = 'Travis Tilley'
41
41
  # p.email = "ttilley@gmail.com"
42
- # p.dependencies = ["VanaTime >=1.2.1", "wxruby >=1.9.0"]
42
+ # p.dependencies = ["VanaTime >=2.0.0", "wxruby >=1.9.0"]
43
43
  # end
44
44
  #
45
45
  # rescue LoadError => boom
data/lib/wx_vana_clock.rb CHANGED
@@ -1,16 +1,16 @@
1
- gem 'VanaTime', '>=1.2.1'
1
+ gem 'VanaTime', '>=2.0.0'
2
2
  require 'vana_time'
3
3
  gem 'wxruby', '>=1.9.0'
4
4
  require 'wx'
5
5
 
6
6
  module WxVanaClock
7
7
  class ClockFrame < Wx::Frame
8
+ include FFXI::Constants
9
+
8
10
  def initialize(parent)
9
11
  super()
10
12
  $xrc.load_frame_subclass(self, nil, 'ClockFrame')
11
13
 
12
- @parent = parent
13
-
14
14
  # get all the text controls
15
15
  @vana_day =
16
16
  Wx::Window.find_window_by_id(Wx::xrcid('VanaDay'), self)
@@ -31,6 +31,55 @@ module WxVanaClock
31
31
  @optimal_phase_name =
32
32
  Wx::Window.find_window_by_id(Wx::xrcid('OptimalPhaseName'), self)
33
33
 
34
+ # create the procs that update UI elements
35
+ on_second = lambda do |time|
36
+ @vana_time.change_value time.to_s
37
+ end
38
+ on_day = lambda do |day|
39
+ @vana_day.change_value day.to_s
40
+ end
41
+ on_moon_percent = lambda do |moon|
42
+ @moon_percent.change_value moon.percent
43
+ end
44
+ on_moon_phase = lambda do |moon|
45
+ @phase_name.change_value moon.phase
46
+ @next_phase_name.change_value moon.next_phase
47
+ end
48
+ on_optimal_phase = lambda do |moon|
49
+ @optimal_phase_name.change_value moon.optimal_phase
50
+ end
51
+ on_phase_count = lambda do |countdown|
52
+ @next_phase_countdown.change_value countdown.to_next
53
+ end
54
+ on_optimal_count = lambda do |countdown|
55
+ @optimal_phase_countdown.change_value countdown.to_optimal
56
+ end
57
+
58
+ # create time, day, and moon objects
59
+ vt = FFXI::VanaTime.now
60
+ vd = FFXI::VanaDay.new(vt)
61
+ vm = FFXI::VanaMoon.new(vt.earth_time)
62
+
63
+ # draw the UI
64
+ on_second.call vt
65
+ on_day.call vd
66
+ on_moon_percent.call vm
67
+ on_moon_phase.call vm
68
+ on_optimal_phase.call vm
69
+
70
+ # manage the above
71
+ @time_manager = FFXI::TimeManager.new
72
+ @time_manager.manage(vt, vd, vm)
73
+
74
+ # register callbacks
75
+ @time_manager.callback_proc(MS_SECOND, on_second)
76
+ @time_manager.callback_proc("day", on_day)
77
+ @time_manager.callback_proc("moon_percent", on_moon_percent)
78
+ @time_manager.callback_proc("moon_phase", on_moon_phase)
79
+ @time_manager.callback_proc("next_optimal_phase", on_optimal_phase)
80
+ @time_manager.callback_proc("next_phase_countdown", on_phase_count)
81
+ @time_manager.callback_proc("optimal_phase_countdown", on_optimal_count)
82
+
34
83
  # create timer object, give it ID of 9000 and set owner to self
35
84
  @timer = Wx::Timer.new(self, 9000)
36
85
  # register the timer as an event
@@ -40,24 +89,13 @@ module WxVanaClock
40
89
  end
41
90
 
42
91
  def notify(event)
43
- vt = @parent.vana_time
44
- vt.earth_time = Time.now
45
-
46
- @vana_day.change_value vt.day.to_s
47
- @vana_time.change_value vt.to_s
48
- @earth_time.change_value vt.earth_time.to_s
49
- @moon_percent.change_value vt.moon.percent
50
- @phase_name.change_value vt.moon.phase
51
- @next_phase_countdown.change_value vt.moon.to_next
52
- @next_phase_name.change_value vt.moon.next_phase
53
- @optimal_phase_countdown.change_value vt.moon.to_optimal
54
- @optimal_phase_name.change_value vt.moon.optimal_phase
92
+ now = Time.now
93
+ @time_manager.earth_time = now
94
+ @earth_time.change_value now.to_s
55
95
  end
56
96
  end
57
97
 
58
98
  class ClockApp < Wx::App
59
- attr_accessor :vana_time
60
-
61
99
  def on_init
62
100
  # create a resource handler
63
101
  $xrc = Wx::XmlResource.get()
@@ -67,8 +105,6 @@ module WxVanaClock
67
105
  xrc_file = File.join(File.dirname(__FILE__), 'wxvc-xrc.xml')
68
106
  $xrc.load(xrc_file)
69
107
 
70
- @vana_time = FFXI::VanaTime.now
71
-
72
108
  # show the main frame
73
109
  @clock = ClockFrame.new(self)
74
110
  @clock.show(true)
data/lib/wxvc-xrc.xml CHANGED
@@ -106,7 +106,7 @@
106
106
  </object>
107
107
  <object class="sizeritem">
108
108
  <object class="wxTextCtrl" name="NextPhaseCountdown">
109
- <value>04:18:23</value>
109
+ <value>moo</value>
110
110
  <size>86, 22</size>
111
111
  <style>wxTE_READONLY|wxTE_RIGHT</style>
112
112
  </object>
@@ -139,7 +139,7 @@
139
139
  </object>
140
140
  <object class="sizeritem">
141
141
  <object class="wxTextCtrl" name="OptimalPhaseCountdown">
142
- <value>01:27:59</value>
142
+ <value>cows</value>
143
143
  <size>86, 22</size>
144
144
  <style>wxTE_READONLY|wxTE_RIGHT</style>
145
145
  </object>
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.4
3
3
  specification_version: 1
4
4
  name: WxVanaClock
5
5
  version: !ruby/object:Gem::Version
6
- version: 1.0.0
7
- date: 2007-09-04 00:00:00 -04:00
6
+ version: 1.0.2
7
+ date: 2007-09-08 00:00:00 -04:00
8
8
  summary: WxVanaClock is a clock for Final Fantasy Online written using wxWidgets.
9
9
  require_paths:
10
10
  - lib
@@ -57,7 +57,7 @@ dependencies:
57
57
  requirements:
58
58
  - - ">="
59
59
  - !ruby/object:Gem::Version
60
- version: 1.2.1
60
+ version: 2.0.0
61
61
  version:
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: wxruby