From baf1e9bb550c7bf45e2ac0b70ba29c434ef1ccc6 Mon Sep 17 00:00:00 2001 From: "John (J5) Palmieri" Date: Tue, 6 Jul 2010 17:27:04 -0400 Subject: add the Entry demo directory and the entry_buffer demo --- demos/gtk-demo/demos/Entry/__init__.py | 0 demos/gtk-demo/demos/Entry/entry_buffer.py | 73 ++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 demos/gtk-demo/demos/Entry/__init__.py create mode 100644 demos/gtk-demo/demos/Entry/entry_buffer.py diff --git a/demos/gtk-demo/demos/Entry/__init__.py b/demos/gtk-demo/demos/Entry/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/demos/gtk-demo/demos/Entry/entry_buffer.py b/demos/gtk-demo/demos/Entry/entry_buffer.py new file mode 100644 index 00000000..8e8383d2 --- /dev/null +++ b/demos/gtk-demo/demos/Entry/entry_buffer.py @@ -0,0 +1,73 @@ +#!/usr/bin/env python +# -*- Mode: Python; py-indent-offset: 4 -*- +# vim: tabstop=4 shiftwidth=4 expandtab +# +# Copyright (C) 2010 Red Hat, Inc., John (J5) Palmieri +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 +# USA + +title = "Entry/Entry Buffer" +description = """ +GtkEntryBuffer provides the text content in a GtkEntry. +""" + +# See FIXME's +is_fully_bound = True + +from gi.repository import Gtk + +class EntryBufferApp: + def __init__(self): + self.window = Gtk.Dialog('Gtk.EntryBuffer', + None, + 0, + [Gtk.STOCK_CLOSE, Gtk.ResponseType.NONE]) + self.window.connect('response', self.destroy) + self.window.connect('destroy', lambda x: Gtk.main_quit()) + self.window.set_resizable(False) + + vbox = Gtk.VBox(homogeneous=False, spacing=0) + self.window.get_content_area().pack_start(vbox, True, True, 0) + vbox.set_border_width(5) + + label = Gtk.Label() + label.set_markup('Entries share a buffer. Typing in one is reflected in the other.') + vbox.pack_start (label, False, False, 0) + + # create a buffer + buffer = Gtk.EntryBuffer() + + #create our first entry + entry = Gtk.Entry(buffer=buffer) + vbox.pack_start(entry, False, False, 0) + + # create the second entry + entry = Gtk.Entry(buffer=buffer) + entry.set_visibility(False) + vbox.pack_start(entry, False, False, 0) + + self.window.show_all() + + def destroy(self, *args): + self.window.destroy() + Gtk.main_quit() + +def main(): + app = EntryBufferApp() + Gtk.main() + +if __name__ == '__main__': + main() -- cgit v1.2.1