druzy-mvc 1.4.0.3 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
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