]> git.jsancho.org Git - kivyforms.git/blobdiff - examples/designer.py
More widgets in the example
[kivyforms.git] / examples / designer.py
index 5ccdb50b6858149e6f72dbcaec1d56845473adb2..cce34443367dd362e3e67818f94febcb7e31bc05 100644 (file)
@@ -1,9 +1,71 @@
 from kivy.app import App
+from kivy.lang import Builder
+from kivy.uix.button import Button
+from kivy.uix.checkbox import CheckBox
+from kivy.uix.label import Label
+from kivy.uix.textinput import TextInput
+from kivy.uix.togglebutton import ToggleButton
 from kivyforms import FormCanvas
 
+screen = Builder.load_string('''
+BoxLayout:
+    orientation: 'horizontal'
+    FormCanvas:
+        id: form_canvas
+    BoxLayout:
+        size_hint: 0.2, 1
+        orientation: 'vertical'
+        Button:
+            text: 'Add button'
+            on_press: app.add_button()
+        Button:
+            text: 'Add checkbox'
+            on_press: app.add_checkbox()
+        Button:
+            text: 'Add label'
+            on_press: app.add_label()
+        Button:
+            text: 'Add text input'
+            on_press: app.add_textinput()
+        Button:
+            text: 'Add toggle button'
+            on_press: app.add_togglebutton()
+        Button:
+            text: 'Export to Kv'
+            on_press: app.export_to_kv()
+''')
+
 class DesignerApp(App):
+    button_id = 0
+    label_id = 0
+    togglebutton_id = 0
+
+    def on_start(self):
+        self.form_canvas = self.root.ids.form_canvas
+
+    def add_button(self):
+        self.button_id += 1
+        self.form_canvas.add_widget(Button(text='Button ' + str(self.button_id)))
+
+    def add_checkbox(self):
+        self.form_canvas.add_widget(CheckBox())
+
+    def add_label(self):
+        self.label_id += 1
+        self.form_canvas.add_widget(Label(text='Label ' + str(self.label_id)))
+
+    def add_textinput(self):
+        self.form_canvas.add_widget(TextInput())
+
+    def add_togglebutton(self):
+        self.togglebutton_id += 1
+        self.form_canvas.add_widget(ToggleButton(text='Toggle Button ' + str(self.togglebutton_id)))
+
+    def export_to_kv(self):
+        print(self.form_canvas.export_to_kv())
+
     def build(self):
-        return FormCanvas()
+        return screen
 
 if __name__ == '__main__':
     app = DesignerApp()