1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
require 'wx'
include Wx

class ProjectorFrame < Frame
  FADE_SLIDER_ID = 6255
  def initialize
    @selected_verse = "Romans 8:3-5"
    super(nil, -1, 'Projector: ' + @selected_verse )

    @my_panel = Panel.new(self)
    @my_label = StaticText.new(
      @my_panel, 
      -1, 
      'My Label Text', 
      DEFAULT_POSITION, 
      DEFAULT_SIZE, 
      ALIGN_CENTER)

    @my_textbox = TextCtrl.new(
      @my_panel, 
      -1, 
      'Default Textbox Value')

    @my_combo = ComboBox.new(
      @my_panel, 
      -1, 
      'Default Combo Text', 
      DEFAULT_POSITION, 
      DEFAULT_SIZE, 
      ['Item 1', 'Item 2', 'Item 3'])

    @my_button = Button.new(
      @my_panel, 
      -1, 
      'My Button Text')  

    @fade_slider = Slider.new(
      @my_panel, #parent
      FADE_SLIDER_ID, #id 6255
      255,   #Deault Value
      0,     #Min Value - fully transparent
      255,   #Max Value - No transparency
      DEFAULT_POSITION, 
      DEFAULT_SIZE, 
      SL_HORIZONTAL|SL_LABELS, 
      DEFAULT_VALIDATOR,
      "Transparency")


    #setting up the sizer
    @my_panel_sizer = BoxSizer.new(VERTICAL)
    @my_panel.set_sizer(@my_panel_sizer)

    @my_panel_sizer.add(@my_label, 0, GROW|ALL, 2)
    @my_panel_sizer.add(@my_textbox, 0, GROW|ALL, 2)
    @my_panel_sizer.add(@my_combo, 0, GROW|ALL, 2)
    @my_panel_sizer.add(@my_button, 0, GROW|ALL, 2)
    @my_panel_sizer.add(@fade_slider, 0, GROW|ALL, 2)


    show  
    change_transparency
  end

  def change_transparency
    evt_slider(FADE_SLIDER_ID) do 
      self.set_transparent(@fade_slider.get_value)
    end    
  end



  def my_button_click(event)
    @my_textbox.clear
    @my_textbox.write_text "hello!!!"
  end

end




Wx::App.run do
  ProjectorFrame.new
end