X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=blobdiff_plain;f=wx%2Fgui%2Fchoicetext.py;fp=wx%2Fgui%2Fchoicetext.py;h=4e89864755c7877ed0e3151ad4709bc0b017810c;hp=0000000000000000000000000000000000000000;hb=d51c9b672a2a23d9e9c7bc4c2d366ca8d66bda0e;hpb=c23e6dcc154017b49930e3807c84d3a6058f7963 diff --git a/wx/gui/choicetext.py b/wx/gui/choicetext.py new file mode 100644 index 0000000..4e89864 --- /dev/null +++ b/wx/gui/choicetext.py @@ -0,0 +1,73 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- +# +# gpdf2swf.py +# graphical user interface for pdf2swf +# +# Part of the swftools package. +# +# Copyright (c) 2008,2009 Matthias Kramm +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + +import wx +import wx.lib.intctrl + +class ChoiceInt(wx.Panel): + def __init__(self, parent, choices=[], editselection=None): + wx.Panel.__init__(self, parent) + choices = choices + self.editselection = editselection + + s = wx.BoxSizer(wx.HORIZONTAL) + + self.choice = choice = wx.Choice(self, choices=choices) + self.text = text = wx.lib.intctrl.IntCtrl(self) + s.Add(choice, 1, wx.EXPAND) + s.Add(text, 1, wx.EXPAND) + + self.SetSizer(s) + + choice.Bind(wx.EVT_CHOICE, self.__OnChoice) + + def IsEditableSelection(self, n): + return n == self.editselection + + def GetValue(self): + return self.text.GetValue() + + def SetValue(self, value): + self.text.SetValue(value) + + def GetSelectionAndValue(self): + return self.choice.GetSelection(), self.text.GetValue() + + def SetSelectionAndValue(self, n, value): + self.SetSelection(n) + self.text.SetValue(value) + + def GetSelection(self): + return self.choice.GetSelection() + + def SetSelection(self, n): + self.choice.SetSelection(n) + self.EnableText(self.IsEditableSelection(n)) + + def EnableText(self, enable): + self.text.Enable(enable) + + def __OnChoice(self, event): + self.EnableText(self.IsEditableSelection(event.Selection)) +