def __init__(self, parent, stream, zoom): """Inicializuj prohlížečku. Argumenty: parent -- rodič prohlížečky, instance 'wx.Window' stream -- stream poskytující postscriptová data, která mají být zobrazena zoom -- kladný integer nebo float odpovídající požadovanému zvětšení náhledu, přičemž standardní velikost je 1, menší hodnoty znamenají zmenšení, větší hodnoty znamenají zvětšení """ if __debug__: pytis.util.log(pytis.util.DEBUG, 'Startuji PostScriptovou prohlížečku:', zoom) # Náhled nelze zoomovat "za běhu", protože jednou nastavené scrollbary # ve wxScrolledWindow nelze změnit, museli bychom si udělat # scrollování vlastní. assert zoom > 0 wx.ScrolledWindow.__init__(self, parent, -1) self._zoom = zoom self._gs = None self._init_gs(stream) self._current_page = None self._current_page_bitmap = None self._restarted = False wx_callback(wx.EVT_PAINT, self, self.OnPaint)
def create_toolbar_ctrl(self, toolbar): """Add a toolbar control for given UICommand into given wx 'toolbar'. This method adds command control into the toolbar. The default control is a simple button which invokes the command on click. More sophisticated controls may be specified using the 'ctrl' constructor argument. """ if self._ctrl: if isinstance(self._ctrl, tuple): ctrl_cls, kwargs = self._ctrl else: ctrl_cls, kwargs = self._ctrl, {} ctrl = ctrl_cls(toolbar, self, **kwargs) ctrl.SetToolTipString(self._title) tool = toolbar.AddControl(ctrl) toolbar.SetToolLongHelp(tool.GetId(), self._descr) # Doesn't work... else: cmd, args = self._command, self._args assigned_icon = command_icon(cmd, args) if assigned_icon is None: raise Exception("No icon assigned for command %s %s." % (cmd, args)) import wx from pytis.form import get_icon icon = get_icon(assigned_icon, type=wx.ART_TOOLBAR) if icon is None: icon = get_icon(wx.ART_ERROR, type=wx.ART_TOOLBAR) tool = toolbar.AddTool(-1, icon, shortHelpString=self._title, longHelpString=self._descr) parent = toolbar.GetParent() from pytis.form import wx_callback wx_callback(wx.EVT_TOOL, parent, tool.GetId(), lambda e: cmd.invoke(**args)) wx_callback(wx.EVT_UPDATE_UI, parent, tool.GetId(), lambda e: e.Enable(cmd.enabled(**args)))