Commit 8c02302

mo khan <mo@mokhan.ca>
2014-03-22 03:42:26
adjust ui and add textbox and button.
1 parent 0e73468
Changed files (3)
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>