Exemple #1
0
    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)
Exemple #2
0
    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)
Exemple #3
0
    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)))