gluby-tk 0.1.5 → 0.1.6

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: 5d765b65f524c95f1df422919dacdad1c8dfb00b
4
- data.tar.gz: c0db15238051df850c0682fab9a73ea6e78ab0af
3
+ metadata.gz: 3bc0b9cefc4a89f8e30a991fa0f099da12f56a51
4
+ data.tar.gz: f021961d4812ce0fa39925db51119ea6ee2e1539
5
5
  SHA512:
6
- metadata.gz: 3fb69647b007a6683530952a290dc35fdde4d1810cd97dffdc05747520037a7ced7ba6542a0cc76c58905616b0aaf24abe61d3432328822c3e593ed814802e48
7
- data.tar.gz: 874666792841213bd19ecf67a86d0dd09d8c8eae2a9cd7c557dea1ddda1129e22c71f86fe4ef4499deea296808e0cc2a9379667d4b4be4450761a84890f9f0ba
6
+ metadata.gz: 625ab788cae865d64a6f8a14b4fe0988b50a9ad65ef78f7742823c1f7e3afb1e16a87be049f3b8ac8478f4c8e738f5bd12d51512a15e976911bc04e81f78316d
7
+ data.tar.gz: 1b92411ef8537a5220affdfd4032bfa83703d94764b580e15012d182c114d9016506c7116bee7ae85e2d30d64a31e12cc055ec6a5b9572ef421be60dd518a8f6
@@ -1,14 +1,21 @@
1
+ require 'stringio'
1
2
  require 'nokogiri'
2
3
 
3
4
  module GlubyTK
4
5
 
5
6
  class Generator
7
+ DIR_ASSETS = "assets"
8
+ DIR_ASSETS_IMAGES = "#{DIR_ASSETS}/images"
9
+ DIR_INTERFACE = "interface"
10
+ DIR_SRC = "src"
11
+ DIR_SRC_GLUBY = "#{DIR_SRC}/gluby"
12
+
6
13
  DIRECTORIES = [
7
- "assets",
8
- "assets/images",
9
- "interface",
10
- "src",
11
- "src/gluby"
14
+ DIR_ASSETS,
15
+ DIR_ASSETS_IMAGES,
16
+ DIR_INTERFACE,
17
+ DIR_SRC,
18
+ DIR_SRC_GLUBY
12
19
  ]
13
20
 
14
21
  TEMPLATES = [
@@ -18,6 +25,15 @@ module GlubyTK
18
25
  {:name => "ApplicationWindow.glade", :path => "interface"}
19
26
  ]
20
27
 
28
+ SAMPLE_CODE_LINES = [
29
+ "# Start GlubyTK sample code",
30
+ "# Label Reference: https://ruby-gnome2.osdn.jp/hiki.cgi?pango-markup",
31
+ "welcome_label.margin = 100",
32
+ "welcome_label.use_markup = true",
33
+ "welcome_label.markup = '<span weight=\"heavy\" foreground=\"white\" size=\"x-large\"><b>Generated with GlubyTK</b></span>'",
34
+ "# End GlubyTK sample code"
35
+ ]
36
+
21
37
  def self.create app_name
22
38
  if File.exist?(app_name)
23
39
  GlubyTK.gputs "#{app_name} already exists!"
@@ -52,11 +68,33 @@ module GlubyTK
52
68
  }
53
69
  end
54
70
 
71
+ # Construct gresource file & ruby classes
55
72
  rebuild(root)
73
+
74
+ # Add in example code
75
+ add_sample_code_to_new_project root
76
+
56
77
  GlubyTK.gputs "Finished creating #{module_name}"
57
78
  GlubyTK.gputs "Done!"
58
79
  end
59
80
 
81
+ def self.add_sample_code_to_new_project(root)
82
+ app_window_path = "#{root}/#{DIR_SRC}/application_window.rb"
83
+ contents = StringIO.open(File.read(app_window_path))
84
+ new_contents = ""
85
+ contents.each do |line|
86
+ new_contents << line
87
+ if line.include?("super(args)")
88
+ tab = "\t\t"
89
+ nl = "\n"
90
+ SAMPLE_CODE_LINES.each do |scl|
91
+ new_contents << "#{tab}#{scl}#{nl}"
92
+ end
93
+ end
94
+ end
95
+ File.open(app_window_path, "wb").write new_contents
96
+ end
97
+
60
98
  def self.rebuild(root = nil)
61
99
  GlubyTK.gputs "Constructing gresource file..."
62
100
  root = root || Dir.pwd
@@ -1,3 +1,3 @@
1
1
  module GlubyTK
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.6"
3
3
  end
@@ -0,0 +1,28 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Generated with glade 3.20.0 -->
3
+ <interface>
4
+ <requires lib="gtk+" version="3.20"/>
5
+ <template class="SpecBox" parent="GtkBox">
6
+ <property name="visible">True</property>
7
+ <property name="can_focus">False</property>
8
+ <property name="orientation">vertical</property>
9
+ <child>
10
+ <object class="GtkLabel" id="label">
11
+ <property name="visible">True</property>
12
+ <property name="can_focus">False</property>
13
+ <property name="label" translatable="yes">label</property>
14
+ </object>
15
+ <packing>
16
+ <property name="expand">False</property>
17
+ <property name="fill">True</property>
18
+ <property name="position">0</property>
19
+ </packing>
20
+ </child>
21
+ <child>
22
+ <placeholder/>
23
+ </child>
24
+ <child>
25
+ <placeholder/>
26
+ </child>
27
+ </template>
28
+ </interface>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gluby-tk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - i2097i
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-04 00:00:00.000000000 Z
11
+ date: 2017-04-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -124,6 +124,7 @@ files:
124
124
  - lib/gluby-tk/logger.rb
125
125
  - lib/gluby-tk/version.rb
126
126
  - templates/ApplicationWindow.glade.template
127
+ - templates/SpecBox.glade.template
127
128
  - templates/application.rb.template
128
129
  - templates/includes.rb.template
129
130
  - templates/main.rb.template