/usr/lib/python2.7/dist-packages/wxglade/widgets/static_line/static_line.py is in python-wxglade 0.6.8-2.2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | # static_line.py: wxStaticLine objects
# $Id: static_line.py,v 1.13 2007/08/07 12:18:34 agriggio Exp $
#
# Copyright (c) 2002-2007 Alberto Griggio <agriggio@users.sourceforge.net>
# License: MIT (see license.txt)
# THIS PROGRAM COMES WITH NO WARRANTY
import wx
import common
from edit_windows import ManagedBase
from tree import Tree
from widget_properties import *
class EditStaticLine(ManagedBase):
def __init__(self, name, parent, id, orientation, sizer, pos,
property_window, show=True):
"""\
Class to handle wxStaticLine objects
"""
self.orientation = orientation
self.attribute = True
ManagedBase.__init__(self, name, 'wxStaticLine', parent, id, sizer,
pos, property_window, show=show)
self.access_functions['style'] = (self.get_orientation,
self.set_orientation)
def set_attribute(v): self.attribute = int(v)
self.access_functions['attribute'] = (lambda : self.attribute,
set_attribute)
self.properties['style'] = HiddenProperty(self, 'style', label=_("style"))
self.properties['attribute'] = CheckBoxProperty(
self, 'attribute', None, _('Store as attribute'), write_always=True)
self.removed_p = self.properties['font']
def create_widget(self):
#self.orientation = int(self.property['style'].get_value())
self.widget = wx.StaticLine(self.parent.widget, self.id,
style=self.orientation)
wx.EVT_LEFT_DOWN(self.widget, self.on_set_focus)
def finish_widget_creation(self):
ManagedBase.finish_widget_creation(self)
self.sel_marker.Reparent(self.parent.widget)
del self.properties['font']
def create_properties(self):
ManagedBase.create_properties(self)
if self.removed_p.panel: self.removed_p.panel.Hide()
panel = wx.Panel(self.notebook, -1)
szr = wx.BoxSizer(wx.VERTICAL)
self.properties['attribute'].display(panel)
szr.Add(self.properties['attribute'].panel, 0, wx.EXPAND)
panel.SetAutoLayout(True)
panel.SetSizer(szr)
szr.Fit(panel)
self.notebook.AddPage(panel, 'Widget')
def __getitem__(self, key):
if key != 'font': return ManagedBase.__getitem__(self, key)
return (lambda : "", lambda v: None)
def get_orientation(self):
od = { wx.LI_HORIZONTAL: 'wxLI_HORIZONTAL',
wx.LI_VERTICAL: 'wxLI_VERTICAL' }
return od.get(self.orientation, 'wxLI_HORIZONTAL')
def set_orientation(self, value):
od = { 'wxLI_HORIZONTAL': wx.LI_HORIZONTAL,
'wxLI_VERTICAL': wx.LI_VERTICAL }
self.orientation = od.get(value, wx.LI_HORIZONTAL)
# end of class EditStaticLine
def builder(parent, sizer, pos, number=[1]):
"""\
factory function for EditStaticLine objects.
"""
class Dialog(wx.Dialog):
def __init__(self):
wx.Dialog.__init__(self, None, -1, 'Select orientation')
self.orientations = [ wx.LI_HORIZONTAL, wx.LI_VERTICAL ]
self.orientation = wx.LI_HORIZONTAL
prop = RadioProperty(self, 'orientation', self,
['wxLI_HORIZONTAL', 'wxLI_VERTICAL'], label=_("orientation"))
szr = wx.BoxSizer(wx.VERTICAL)
szr.Add(prop.panel, 0, wx.ALL|wx.EXPAND, 10)
btn = wx.Button(self, wx.ID_OK, _('OK'))
btn.SetDefault()
szr.Add(btn, 0, wx.BOTTOM|wx.ALIGN_CENTER, 10)
self.SetAutoLayout(True)
self.SetSizer(szr)
szr.Fit(self)
self.CenterOnScreen()
def __getitem__(self, value):
def set_orientation(o): self.orientation = self.orientations[o]
return (lambda: self.orientation, set_orientation)
# end of inner class
dialog = Dialog()
dialog.ShowModal()
label = 'static_line_%d' % number[0]
while common.app_tree.has_name(label):
number[0] += 1
label = 'static_line_%d' % number[0]
static_line = EditStaticLine(label, parent, wx.NewId(), dialog.orientation,
sizer, pos, common.property_panel)
node = Tree.Node(static_line)
static_line.node = node
static_line.set_flag("wxEXPAND")
static_line.show_widget(True)
common.app_tree.insert(node, sizer.node, pos-1)
def xml_builder(attrs, parent, sizer, sizeritem, pos=None):
"""\
factory to build EditStaticLine objects from an xml file
"""
from xml_parse import XmlParsingError
try: name = attrs['name']
except KeyError: raise XmlParsingError, _("'name' attribute missing")
if sizer is None or sizeritem is None:
raise XmlParsingError, _("sizer or sizeritem object cannot be None")
static_line = EditStaticLine(name, parent, wx.NewId(), 0, sizer,
pos, common.property_panel)
sizer.set_item(static_line.pos, option=sizeritem.option,
flag=sizeritem.flag, border=sizeritem.border)
node = Tree.Node(static_line)
static_line.node = node
if pos is None: common.app_tree.add(node, sizer.node)
else: common.app_tree.insert(node, sizer.node, pos-1)
return static_line
def initialize():
"""\
initialization function for the module: returns a wx.BitmapButton to be
added to the main palette.
"""
common.widgets['EditStaticLine'] = builder
common.widgets_from_xml['EditStaticLine'] = xml_builder
return common.make_object_button('EditStaticLine', 'icons/static_line.xpm')
|