mikymod 12 лет назад
Родитель
Сommit
ba3beb8d41
2 измененных файлов с 105 добавлено и 0 удалено
  1. 59 0
      tools/gui/console/console.py
  2. 46 0
      tools/gui/console/ui/console.glade

+ 59 - 0
tools/gui/console/console.py

@@ -0,0 +1,59 @@
+import sys
+import os
+import socket
+
+from gi.repository import Gtk
+from gi.repository import Gdk
+
+from pycrown import Repository
+    
+
+
+
+#------------------------------------------------------------------------------
+class Console:
+
+    def __init__(self):
+        
+        builder = Gtk.Builder()
+        builder.add_from_file("ui/console.glade")
+        
+        self.m_view = builder.get_object("textview1")
+        self.m_buffer = builder.get_object("textbuffer1")
+        self.m_entry = builder.get_object("entry1")
+        
+        self.m_window = builder.get_object('window1')
+        self.m_window.set_title("Crown Console")      
+        self.m_window.show_all()
+
+        builder.connect_signals(self)
+
+        #m_sock = socket.create_connection(('localhost', 10000))
+
+        Gtk.main()
+    
+    def on_destroy(self, *args):
+
+        #m_sock.close()
+        Gtk.main_quit(*args)
+
+    def on_key_pressed(self, entry, event):
+        if event.keyval == 0xff0d:
+            self.run_command(entry.get_text())
+
+    def run_command(self, cmd):
+        end_iter = self.m_buffer.get_end_iter()
+        a_string = "> " + cmd + "\n"
+        self.m_buffer.insert(end_iter, a_string, len(a_string))
+
+        self.m_entry.set_text("")
+
+
+    
+
+#------------------------------------------------------------------------------
+def main():
+   console = Console()
+
+main()
+    

+ 46 - 0
tools/gui/console/ui/console.glade

@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <!-- interface-requires gtk+ 3.6 -->
+  <object class="GtkTextBuffer" id="textbuffer1"/>
+  <object class="GtkWindow" id="window1">
+    <property name="can_focus">False</property>
+    <property name="border_width">6</property>
+    <property name="default_width">600</property>
+    <property name="default_height">330</property>
+    <signal name="destroy" handler="on_destroy" swapped="no"/>
+    <child>
+      <object class="GtkBox" id="box1">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <child>
+          <object class="GtkEntry" id="entry1">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <signal name="key-press-event" handler="on_key_pressed" swapped="no"/>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkTextView" id="textview1">
+            <property name="height_request">339</property>
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="buffer">textbuffer1</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+  </object>
+</interface>