druzy-mvc 1.4.0.3 → 1.5.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 930edb5df7d628be348bc6030ca2a7a7b132e43e
4
- data.tar.gz: d2c4b5e9c2365d78187bea7da46e5adf6d4d018a
3
+ metadata.gz: 6e9f88a399d22ba2091c808a34e94e799aa0e411
4
+ data.tar.gz: e6b81075fc6e9f85f67ffc5c5cbe3074e3dd05a0
5
5
  SHA512:
6
- metadata.gz: cbf63a4180f32efd9b91267ecaa81b2bb83c0b9cf8c3e20042879c7390a29de6b24fb1ff67fde548886b151659056fb9a79d267970d86968514e87e295f7edaf
7
- data.tar.gz: 8c6ecf8f0e649988df5626ec761e0cbb0af5949102263be701019f6065f4b1dde842be97bbda0eb1b4eaf5a4332d17c98f9bc61cb20880a067be9af96cdec3c8
6
+ metadata.gz: 197b6fefc884cabec4de8c376122ad7cbad2f258f43c1715ede9508cf470acf0795bceea971c3cc0335b0d236aa621b95bb01ddde5d73f8cbff865e66e52b273
7
+ data.tar.gz: 4add28728353683c0dde470cedcf8030b9a7fcad15ed4fa1750b00a36af4bae657e6d8b55d59c54259671da206e707438652125e49cc88919f243c5b8aaf7599
data/lib/druzy/mvc.rb CHANGED
@@ -1,93 +1,15 @@
1
- require "druzy/mvc/version"
2
- require "druzy/mvc/event"
1
+ require_relative 'mvc/version'
2
+
3
+ require_relative 'mvc/controller'
4
+ require_relative 'mvc/model'
5
+ require_relative 'mvc/view'
6
+
7
+
3
8
 
4
9
  module Druzy
5
-
10
+
6
11
  module MVC
7
- class Controller
8
- attr_reader :views
9
- attr_accessor :model
10
-
11
- def initialize(model)
12
- @model=model
13
- @views=[]
14
- end
15
-
16
- def add_view(view)
17
- @views << view
18
- @model.add_property_change_listener(view)
19
- end
20
-
21
- def remove_view(view)
22
- @views.delete(view)
23
- @model.remove_property_change_listener(view)
24
- end
25
-
26
- def display_views
27
- for view in @views
28
- view.display()
29
- end
30
- end
31
-
32
- def close_views
33
- for view in @views
34
- view.close()
35
- end
36
- end
37
-
38
- def views_on_top
39
- for view in @views
40
- view.on_top()
41
- end
42
- end
43
-
44
- def notify_action(view,action,kwargs={})
45
- end
46
- end
47
-
48
- class Model
49
-
50
- def initialize
51
- @listeners=[]
52
- end
53
-
54
- def add_property_change_listener(listener)
55
- @listeners << listener
56
- end
57
-
58
- def remove_property_change_listener(listener)
59
- @listeners.delete(listener)
60
- end
61
-
62
- def fire_property_change(property_change_event)
63
- for listener in @listeners
64
- listener.property_change(property_change_event)
65
- end
66
- end
67
- end
68
-
69
- class View < Druzy::MVC::PropertyChangeListener
70
- attr_accessor :controller
71
-
72
- def initialize(controller)
73
- super()
74
- @controller=controller
75
- end
76
-
77
- def display
78
- end
79
-
80
- def close
81
- end
82
-
83
- def is_displaying
84
- return true
85
- end
86
-
87
- def on_top
88
- end
89
-
90
- end
12
+
91
13
  end
92
-
14
+
93
15
  end
@@ -0,0 +1,48 @@
1
+ module Druzy
2
+
3
+ module MVC
4
+
5
+ class Controller
6
+ attr_reader :views
7
+ attr_accessor :model
8
+
9
+ def initialize(model)
10
+ @model=model
11
+ @views=[]
12
+ end
13
+
14
+ def add_view(view)
15
+ @views << view
16
+ @model.add_property_change_listener(view)
17
+ end
18
+
19
+ def remove_view(view)
20
+ @views.delete(view)
21
+ @model.remove_property_change_listener(view)
22
+ end
23
+
24
+ def display_views
25
+ for view in @views
26
+ view.display()
27
+ end
28
+ end
29
+
30
+ def close_views
31
+ for view in @views
32
+ view.close()
33
+ end
34
+ end
35
+
36
+ def views_on_top
37
+ for view in @views
38
+ view.on_top()
39
+ end
40
+ end
41
+
42
+ def notify_action(view,action,kwargs={})
43
+ end
44
+ end
45
+
46
+ end
47
+
48
+ end
@@ -0,0 +1,36 @@
1
+ require_relative '../view'
2
+
3
+ require 'gtk3'
4
+
5
+ module Druzy
6
+ module MVC
7
+
8
+ class GTK3View < Druzy::MVC::View
9
+
10
+ def initialize(controller, ui_file)
11
+ super(controller)
12
+
13
+ @builder = Gtk::Builder.new
14
+ @builder.add_from_file(ui_file)
15
+
16
+ @window = builder.get_object('window')
17
+ @window.signal_connect('delete-event') do
18
+ Thread.new do
19
+ @controller.notify_action(self,:cross_clicked)
20
+ end
21
+ end
22
+
23
+ end
24
+
25
+ def display
26
+ @window.show_all
27
+ end
28
+
29
+ def close
30
+ @window.destroy
31
+ end
32
+
33
+ end
34
+
35
+ end
36
+ end
@@ -1,4 +1,4 @@
1
- require_relative '../mvc'
1
+ require_relative 'view'
2
2
 
3
3
  require 'open3'
4
4
  require 'xmlsimple'
@@ -0,0 +1,28 @@
1
+ module Druzy
2
+
3
+ module MVC
4
+
5
+ class Model
6
+
7
+ def initialize
8
+ @listeners=[]
9
+ end
10
+
11
+ def add_property_change_listener(listener)
12
+ @listeners << listener
13
+ end
14
+
15
+ def remove_property_change_listener(listener)
16
+ @listeners.delete(listener)
17
+ end
18
+
19
+ def fire_property_change(property_change_event)
20
+ for listener in @listeners
21
+ listener.property_change(property_change_event)
22
+ end
23
+ end
24
+ end
25
+
26
+ end
27
+
28
+ end
@@ -1,13 +1,14 @@
1
- require 'druzy/mvc'
1
+ require_relative 'controller'
2
+ require_relative 'model'
2
3
 
3
4
  module Druzy
4
5
  module MVC
5
-
6
+
6
7
  class ControllerWithResult < Druzy::MVC::Controller
7
8
  def initialize(model)
8
9
  super(model)
9
10
  end
10
-
11
+
11
12
  def result
12
13
  if @model.result == nil
13
14
  @model.stopped_thread=Thread.current
@@ -15,19 +16,19 @@ module Druzy
15
16
  end
16
17
  return @model.result
17
18
  end
18
-
19
+
19
20
  end
20
-
21
+
21
22
  class ModelWithResult < Druzy::MVC::Model
22
23
  attr_accessor :result, :stopped_thread
23
-
24
+
24
25
  def initialize
25
26
  super()
26
-
27
+
27
28
  @result = nil
28
29
  @stopped_thread = nil
29
30
  end
30
-
31
+
31
32
  def result=(result)
32
33
  @result = result
33
34
  if @stopped_thread != nil
@@ -35,6 +36,6 @@ module Druzy
35
36
  end
36
37
  end
37
38
  end
38
-
39
+
39
40
  end
40
41
  end
@@ -1,5 +1,5 @@
1
1
  module Druzy
2
2
  module MVC
3
- VERSION = "1.4.0.3"
3
+ VERSION = "1.5.0"
4
4
  end
5
5
  end
@@ -0,0 +1,32 @@
1
+ require_relative 'event'
2
+
3
+ module Druzy
4
+
5
+ module MVC
6
+
7
+ class View < Druzy::MVC::PropertyChangeListener
8
+ attr_accessor :controller
9
+
10
+ def initialize(controller)
11
+ super()
12
+ @controller = controller
13
+ end
14
+
15
+ def display
16
+ end
17
+
18
+ def close
19
+ end
20
+
21
+ def is_displaying
22
+ return true
23
+ end
24
+
25
+ def on_top
26
+ end
27
+
28
+ end
29
+
30
+ end
31
+
32
+ end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: druzy-mvc
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0.3
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Le Greneur
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-12 00:00:00.000000000 Z
11
+ date: 2017-02-26 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: gtk3
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 2.2.5
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 2.2.5
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: xml-simple
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -60,10 +74,14 @@ extensions: []
60
74
  extra_rdoc_files: []
61
75
  files:
62
76
  - lib/druzy/mvc.rb
77
+ - lib/druzy/mvc/controller.rb
63
78
  - lib/druzy/mvc/event.rb
79
+ - lib/druzy/mvc/gtk3_view.rb
64
80
  - lib/druzy/mvc/java_view.rb
81
+ - lib/druzy/mvc/model.rb
65
82
  - lib/druzy/mvc/mvc_with_result.rb
66
83
  - lib/druzy/mvc/version.rb
84
+ - lib/druzy/mvc/view.rb
67
85
  homepage: https://github.com/druzy/ruby-druzy-mvc
68
86
  licenses:
69
87
  - MIT