Dalchemy 0.1.0 → 0.2.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
  SHA256:
3
- metadata.gz: 83e87b9bb061a893d39fae78a8c6a74aa6b15921461c53b0a6b3e38492734c75
4
- data.tar.gz: 8ba93b73750e5102a197147fc8f7d9852920d8ed2493085be8c7b43eb21f3f9b
3
+ metadata.gz: 7064f10ea9a814bbf4887997388e21815bb21cd745ec4cc30dbadb28861623ff
4
+ data.tar.gz: 25d53d4ad6e7c4ba523103b9a323673f17fc12e04f2a2008aa9e6b5248350c7c
5
5
  SHA512:
6
- metadata.gz: a555428fae9ab9ecab46b476eddbc712f4b2107d921230144c9a6f8b73780386f38a0c6916e51ae4af61fbe64e2f5a8662901cbd2a8cc856977fadd94f6615e8
7
- data.tar.gz: 18df7614516c4cd7ab26656dc0776ecbadcaa757bbefbc67ff2bf0786d266d879cd5ac93eb528c7a603e982a4bba653e28d1c4b65d5b70ebf359fa9800ab23ab
6
+ metadata.gz: 70a71a456ffea5a4cf141a1b056476c55d8fe169798d194d5ba316db1844bcf16cacb27529b8df708867586d4b056c3f928fcf469fc6de3f48bbd7c6a3bd6266
7
+ data.tar.gz: 9e5f76d3131e784071de9a1b88389192c5e1e1786608f4808d5ad07e7f5fea27107e7cb45243dda36d2ccee44c345a3ffadd5b2b8ac8a7c88fc30eb0edfa11d7
data/lib/dalchemy.rb CHANGED
@@ -2,5 +2,6 @@ require "gtk3"
2
2
 
3
3
  require_relative "src/app"
4
4
  require_relative "src/window"
5
+ require_relative "src/components/grid"
5
6
  require_relative "src/components/label"
6
7
  require_relative "src/components/button"
@@ -1,9 +1,13 @@
1
1
  module Dalchemy
2
2
  class Button
3
- def initialize(parent, text, x, y, &block)
4
- button = Gtk::Button.new(label: text)
5
- button.signal_connect("clicked") { block.call if block }
6
- parent.put(button, x, y)
3
+ attr_reader :widget
4
+
5
+ def initialize(label)
6
+ @widget = Gtk::Button.new(label: label)
7
+ end
8
+
9
+ def on_click(&block)
10
+ @widget.signal_connect("clicked", &block)
7
11
  end
8
12
  end
9
13
  end
@@ -0,0 +1,36 @@
1
+ require_relative 'button'
2
+ require_relative 'label'
3
+
4
+ module Dalchemy
5
+ class Grid
6
+ attr_reader :widget
7
+
8
+ def initialize
9
+ @widget = Gtk::Grid.new
10
+ @widget.row_spacing = 10
11
+ @widget.column_spacing = 10
12
+ end
13
+
14
+ def build(&block)
15
+ instance_eval(&block)
16
+ self
17
+ end
18
+
19
+ def add_button(label, x, y, w = 1, h = 1, &block)
20
+ btn = Dalchemy::Button.new(label)
21
+ btn.on_click(&block) if block_given?
22
+ @widget.attach(btn.widget, x, y, w, h)
23
+ btn
24
+ end
25
+
26
+ def add_label(text, x, y, w = 1, h = 1)
27
+ lbl = Dalchemy::Label.new(text)
28
+ @widget.attach(lbl.widget, x, y, w, h)
29
+ lbl
30
+ end
31
+
32
+ def show
33
+ @widget.show_all
34
+ end
35
+ end
36
+ end
@@ -2,13 +2,12 @@ module Dalchemy
2
2
  class Label
3
3
  attr_reader :widget
4
4
 
5
- def initialize(parent, text, x, y)
5
+ def initialize(text = "")
6
6
  @widget = Gtk::Label.new(text)
7
- parent.put(@widget, x, y)
8
7
  end
9
8
 
10
9
  def set_text(new_text)
11
- @widget.set_text(new_text)
10
+ @widget.set_label(new_text)
12
11
  end
13
12
  end
14
13
  end
data/lib/src/window.rb CHANGED
@@ -21,5 +21,9 @@ module Dalchemy
21
21
  def button(text, x:, y:, &block)
22
22
  Dalchemy::Button.new(@fixed, text, x, y, &block)
23
23
  end
24
+
25
+ def add(widget)
26
+ @fixed.put(widget, 0, 0)
27
+ end
24
28
  end
25
29
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: Dalchemy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - mvghasty
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-04-15 00:00:00.000000000 Z
10
+ date: 2025-04-16 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: gtk3
@@ -34,6 +34,7 @@ files:
34
34
  - lib/dalchemy.rb
35
35
  - lib/src/app.rb
36
36
  - lib/src/components/button.rb
37
+ - lib/src/components/grid.rb
37
38
  - lib/src/components/label.rb
38
39
  - lib/src/window.rb
39
40
  homepage: https://github.com/mvghasty/Dalchemy