Commit 8c02302
Changed files (3)
lib
presentation
presenters
windows
lib/presentation/presenters/application_shell_presenter.rb
@@ -12,16 +12,9 @@ class ApplicationShellPresenter
@view.show_all
end
- def backspace
- end
-
- def changed(text)
- return if @updating
- update do
- @view.display("...")
- stock = @stock_service.fetch("ARX.TO")
- @view.display(stock.to_s)
- end
+ def clicked
+ stock = @stock_service.fetch(@view.textbox.text)
+ @view.display(stock.to_s)
end
def shutdown
lib/presentation/windows/application_shell.rb
@@ -1,5 +1,5 @@
class ApplicationShell
- attr_reader :window, :menu_bar
+ attr_reader :window, :menu_bar, :textbox
attr_accessor :builder
def initialize(event_aggregator)
@@ -18,17 +18,18 @@ class ApplicationShell
@presenter = presenter
@window = builder.get_object('window')
@menu_bar = builder.get_object('menubar')
- @text_view = builder.get_object('text_view')
+ @textbox = builder.get_object('symbol_textbox')
+ @submit_button = builder.get_object('submit_button')
+ @output_view = builder.get_object('output_textarea')
+ @status_bar = builder.get_object('statusbar')
builder.connect_signals do |signal|
- Proc.new { presenter.public_send(signal) }
- end
- @text_view.buffer.signal_connect("changed") do |buffer|
- @presenter.changed(buffer.text)
+ proc { presenter.public_send(signal) }
end
Build.menu_bar.with(File.menu(@event_aggregator)).add_to(self)
+ @window.fullscreen
end
def display(text)
- @text_view.buffer.set_text(text)
+ @output_view.buffer.set_text(text)
end
end
lib/presentation/windows/shell.xml
@@ -4,6 +4,7 @@
<object class="GtkWindow" id="window">
<property name="can_focus">False</property>
<property name="title" translatable="yes">GTK+ Text Editor</property>
+ <property name="window_position">center</property>
<signal handler="shutdown" name="destroy" swapped="no"/>
<child>
<object class="GtkVBox" id="vbox1">
@@ -21,33 +22,51 @@
</packing>
</child>
<child>
- <object class="GtkScrolledWindow" id="scrolledwindow1">
+ <object class="GtkBox" id="box1">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="border_width">1</property>
- <property name="hscrollbar_policy">automatic</property>
- <property name="vscrollbar_policy">automatic</property>
- <property name="shadow_type">etched-in</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="homogeneous">True</property>
+ <child>
+ <object class="GtkLabel" id="symbol_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Enter Stock Symbol</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="symbol_textbox">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">•</property>
+ <property name="invisible_char_set">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
<child>
- <object class="GtkTextView" id="text_view">
+ <object class="GtkButton" id="submit_button">
+ <property name="label" translatable="yes">Submit</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="left_margin">2</property>
- <property name="right_margin">2</property>
- <signal name="backspace" handler="backspace" swapped="no"/>
- <signal name="copy-clipboard" handler="copy-clipboard" swapped="no"/>
- <signal name="cut-clipboard" handler="cut-clipboard" swapped="no"/>
- <signal name="delete-from-cursor" handler="delete-from-cursor" swapped="no"/>
- <signal name="insert-at-cursor" handler="insert-at-cursor" swapped="no"/>
- <signal name="move-cursor" handler="move-cursor" swapped="no"/>
- <signal name="paste-clipboard" handler="paste-clipboard" swapped="no"/>
- <signal name="populate-popup" handler="populate-popup" swapped="no"/>
- <signal name="preedit-changed" handler="preedit-changed" swapped="no"/>
- <signal name="select-all" handler="select-all" swapped="no"/>
- <signal name="set-anchor" handler="set-anchor" swapped="no"/>
- <signal name="toggle-cursor-visible" handler="toggle-cursor-visible" swapped="no"/>
- <signal name="toggle-overwrite" handler="toggle-overwrite" swapped="no"/>
+ <property name="receives_default">True</property>
+ <property name="use_action_appearance">False</property>
+ <signal name="clicked" handler="clicked" swapped="no"/>
</object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
</child>
</object>
<packing>
@@ -56,16 +75,48 @@
<property name="position">1</property>
</packing>
</child>
+ <child>
+ <object class="GtkScrolledWindow" id="scrolledwindow2">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="shadow_type">in</property>
+ <child>
+ <object class="GtkTextView" id="output_textarea">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <!--<signal name="backspace" handler="backspace" swapped="no"/>-->
+ <!--<signal name="copy-clipboard" handler="copy-clipboard" swapped="no"/>-->
+ <!--<signal name="cut-clipboard" handler="cut-clipboard" swapped="no"/>-->
+ <!--<signal name="delete-from-cursor" handler="delete-from-cursor" swapped="no"/>-->
+ <!--<signal name="insert-at-cursor" handler="insert-at-cursor" swapped="no"/>-->
+ <!--<signal name="move-cursor" handler="move-cursor" swapped="no"/>-->
+ <!--<signal name="paste-clipboard" handler="paste-clipboard" swapped="no"/>-->
+ <!--<signal name="populate-popup" handler="populate-popup" swapped="no"/>-->
+ <!--<signal name="preedit-changed" handler="preedit-changed" swapped="no"/>-->
+ <!--<signal name="select-all" handler="select-all" swapped="no"/>-->
+ <!--<signal name="set-anchor" handler="set-anchor" swapped="no"/>-->
+ <!--<signal name="toggle-cursor-visible" handler="toggle-cursor-visible" swapped="no"/>-->
+ <!--<signal name="toggle-overwrite" handler="toggle-overwrite" swapped="no"/>-->
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
<child>
<object class="GtkStatusbar" id="statusbar">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
<property name="spacing">2</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">2</property>
+ <property name="position">3</property>
</packing>
</child>
</object>