예제 #1
0
파일: entry.py 프로젝트: Ripsnorta/pyui2
 def resize(self, w, h):
     Base.resize(self, w, h)
     self.vscroll.resize(11, h-10)
     self.vscroll.moveto(w-10, 0)
     self.hscroll.resize(w-10, 11)
     self.hscroll.moveto(0, h-10)
     self.updateScrollBars()
예제 #2
0
 def destroy(self):
     for menu in self.menus:
         menu.destroy()
         del menu
     self.menus = None
     self.hitList = None
     Base.destroy(self)
예제 #3
0
파일: window.py 프로젝트: Ripsnorta/pyui2
 def setDirty(self, collide = 1):
     #self.dirty = 1
     if self.dirty:
         return
     if collide:
         getDesktop().dirtyCollidingWindows(self.rect)
     Base.setDirty(self)
예제 #4
0
파일: listbox.py 프로젝트: Ripsnorta/pyui2
    def __init__(self, onSelected = None, onDouble = None):
        Base.__init__(self)
        self.items = []
        if self.font:
            font = self.font
        else:
            font = getTheme().defaultFont

        self.numVisible = self.height / ( font.getTextSize("x")[1] )
        self.numItems = 0
        self.topItem = 0
        self.selected = -1
        self.vscroll = VScroll()
        self.addChild(self.vscroll)
        self.registerEvent(pyui2.locals.SCROLLPOS, self._pyui2ScrollPos)
        self.registerEvent(pyui2.locals.LMOUSEBUTTONDOWN, self._pyui2LButtonDown)
        self.registerEvent(pyui2.locals.RMOUSEBUTTONDOWN, self._pyui2LButtonDown)
        self.registerEvent(pyui2.locals.LMOUSEBUTTONUP, self._pyui2LButtonUp)
        self.registerEvent(pyui2.locals.RMOUSEBUTTONUP, self._pyui2LButtonUp)
        self.registerEvent(pyui2.locals.LMOUSEDBLCLICK, self._pyui2DoubleClick)

        self.registerEvent(pyui2.locals.LIST_SELECTED, self._pyui2SelectEvent)
        self.registerEvent(pyui2.locals.LIST_DBLCLICK, self._pyui2DoubleEvent)

        self.resize(100,100)

        self.selectHandler = onSelected
        self.doubleHandler = onDouble
예제 #5
0
파일: entry.py 프로젝트: Ripsnorta/pyui2
    def __init__( self, text = '' ):
        Base.__init__(self)
        self.text = text
        self.caretPos = 0
        self.selectPos = 0
        self.dragging = 0
        self.readonly = 0

        self.font = getTheme().getProperty("DEFAULT FONT")
        #self.font = getRenderer().createFont("courier", 12, 0)
        
        self.scroll = 0, 0
        self.vscroll = pyui2.widgets.VScroll()
        self.addChild( self.vscroll )
        self.hscroll = pyui2.widgets.HScroll()
        self.addChild( self.hscroll )
        self.registerEvent(pyui2.locals.SCROLLPOS, self._pyui2ScrollPos)
        
        self.registerEvent(pyui2.locals.KEYDOWN, self._pyui2KeyDown)
        self.registerEvent(pyui2.locals.KEYUP, self._pyui2KeyUp)
        self.registerEvent(pyui2.locals.CHAR, self._pyui2Char)
        self.registerEvent(pyui2.locals.LMOUSEBUTTONDOWN, self._pyui2MouseDown)
        self.registerEvent(pyui2.locals.LMOUSEBUTTONUP, self._pyui2MouseUp)
        self.registerEvent(pyui2.locals.MOUSEMOVE, self._pyui2MouseMotion)
        self.registerEvent(pyui2.locals.CLICKED, self._pyui2Clicked)
        self.resize( 100, 100 )
예제 #6
0
    def __init__(self, text, closeBtn = True, minimizeBtn = False, maximizeBtn = False):
        Base.__init__(self)
        self.setText(text)
        self.closeBtn = closeBtn
        self.minimizeBtn = minimizeBtn
        self.maximizeBtn = maximizeBtn
        self.moving = False
        self.mouseDown = False
        self.captionCursorSet = False

        self._closeBtn = None
        if self.closeBtn == True:
            self._closeBtn = CloseButton(self.onCloseButton)
            self.addChild(self._closeBtn)

        self._minimizeBtn = None
        if self.minimizeBtn == True:
            self._minimizeBtn = MinimizeButton(self.onMinimizeButton)
            self.addChild(self._minimizeBtn)

        self._maximizeBtn = None
        if self.maximizeBtn == True:
            self._maximizeBtn = MaximizeButton(self.onMaximizeButton)
            self.addChild(self._maximizeBtn)


        self.registerEvent(pyui2.locals.LMOUSEBUTTONDOWN, self._pyui2MouseDown)
        self.registerEvent(pyui2.locals.LMOUSEBUTTONUP, self._pyui2MouseUp)
        self.registerEvent(pyui2.locals.MOUSEMOVE, self._pyui2MouseMotion)
예제 #7
0
파일: frame.py 프로젝트: Ripsnorta/pyui2
 def resize(self, w, h):
     if w < 64:
         w = 64
     if h < 64:
         h = 64
     Base.resize(self, w, h)
     self.calcInnerRect()
     self.placeInnerObjects()
예제 #8
0
파일: label.py 프로젝트: Ripsnorta/pyui2
 def __init__(self, text, color = None, font = None, shadow=0, align=0):
     Base.__init__(self)
     self.font = font
     self.shadow = shadow
     self.align = align
     self.color = color
     self.setText(text)
     self.border = False
예제 #9
0
 def __init__(self, text, buttonGroup, onCheck = None, checked=0):
     Base.__init__(self)
     self.checkState = checked
     self.text = text
     self._pyui2Check = onCheck
     self.buttonGroup = buttonGroup
     self.buttonGroup.addRadioButton(self)
     self.registerEvent(pyui2.locals.LMOUSEBUTTONDOWN, self._pyui2MouseDown)
예제 #10
0
파일: listbox.py 프로젝트: Ripsnorta/pyui2
 def resize(self, w, h):
     Base.resize(self, w, h)
     if self.font:
         font = self.font
     else:
         font = getTheme().defaultFont
     self.numVisible = int (self.height / font.getTextSize("x")[1] )
     self.vscroll.setNumItems(self.numItems, self.numVisible)
     self.vscroll.resize(getTheme().getScrollerSize(), h)
     self.vscroll.moveto(self.posX + w - getTheme().getScrollerSize(), self.posY)
예제 #11
0
 def __init__(self, numVisible = 5, onSelected = None, listItems = None, selection = None, editable = True):
     Base.__init__(self)
     self.numVisible = numVisible
     self.selectionList = ListBox(self._pyui2SelectedEvent)
     self.selectionList.setShow(0)
     self.addChild(self.selectionList)
     self.registerEvent(pyui2.locals.LMOUSEBUTTONDOWN, self._pyui2MouseDown)
     self.selectHandler = onSelected
     self.addItems(listItems)
     self.setSelectedItem(selection)
예제 #12
0
 def __init__(self, onSlide=None, range = 1, initialPos = 1):
     self.range = range
     self.position = initialPos
     self.sliding = 0
     self.slidePos = 0
     self.stepInterval = 1
     self._pyui2Slide = onSlide
     Base.__init__(self)
     self.registerEvent(pyui2.locals.LMOUSEBUTTONDOWN, self._pyui2MouseDown)
     self.registerEvent(pyui2.locals.LMOUSEBUTTONUP, self._pyui2MouseUp)
     self.registerEvent(pyui2.locals.MOUSEMOVE, self._pyui2MouseMotion)
예제 #13
0
파일: menu.py 프로젝트: Ripsnorta/pyui2
    def setShow(self, show):
        if show:
            self.getFocus()
            self.recalcSize()

        if self.subActive:
            self.subActive.setShow(0)

        self.subActive = None
        self.active = None
        Base.setShow(self,show)
예제 #14
0
    def __init__(self):
        Base.__init__(self)
	self.resize( 0, getTheme().defaultTextHeight + 4 )
        self.setShow(1)
        self.menus = []
        self.hitList = []
        self.active = None
        self.highlight = None
        self.registerEvent(pyui2.locals.LMOUSEBUTTONDOWN, self._pyui2MouseDown)
        self.registerEvent(pyui2.locals.LMOUSEBUTTONUP, self._pyui2MouseUp)
        self.registerEvent(pyui2.locals.MOUSEMOVE, self._pyui2MouseMotion)
        self.registerEvent(pyui2.locals.MENU_EXIT, self._pyui2MenuExit)
예제 #15
0
파일: frame.py 프로젝트: Ripsnorta/pyui2
    def setCaptionBar(self, captionBar):
        if self._captionBar:
            Base.removeChild(self, self._captionBar)

        self._captionBar = captionBar

        Base.addChild(self, self._captionBar)
        self._captionBar.setWindow(self)

        self._captionBar.moveto(self.theme.getFrameBorderLeft(), self.theme.getFrameBorderTop())
        self._captionBar.resize(self.innerRect[2], self._captionBar.height)
        self.calcInnerRect()
        self.placeInnerObjects()
예제 #16
0
 def __init__(self, callback):
     Base.__init__(self)
     self.registerEvent(pyui2.locals.LMOUSEBUTTONDOWN, self._pyui2MouseDown)
     self.registerEvent(pyui2.locals.KEYDOWN, self._pyui2KeyDown)
     self.callback = callback
     self.activeTab = None
     self.lScroll = TabScrollButton(TabScrollButton.DIRECT_LEFT, self.moveTabsLeft)
     self.rScroll = TabScrollButton(TabScrollButton.DIRECT_RIGHT, self.moveTabsRight)
     self.addChild(self.lScroll)
     self.addChild(self.rScroll)
     self.needScrollButtons = False
     self.tabButtons = []
     self.firstVisibleTab = 0
예제 #17
0
파일: window.py 프로젝트: Ripsnorta/pyui2
    def replacePanel(self, panel):
        for c in self.children:
            if c.id == self._panel.id:
                self.children.remove(c)

        self._panel = panel
        Base.addChild(self, self._panel)
        self._panel.setWindow(self)
        self.calcInnerRect()
        self.placeInnerObjects()
        self._panel.moveto(self.innerRect[0], self.innerRect[1])
        self._panel.resize(self.innerRect[2], self.innerRect[3])
        self._panel.calcInnerRect()
        self._panel.placeInnerObjects()
예제 #18
0
파일: tree.py 프로젝트: Ripsnorta/pyui2
    def __init__(self):
        Base.__init__(self)

        self.selectedNode = None
        self.registerEvent(pyui2.locals.LMOUSEBUTTONDOWN, self.onMouseDown)
        self.registerEvent(pyui2.locals.SCROLLPOS, self.onScrollPos)
        self.registerEvent(pyui2.locals.TREENODE_SELECTED, self.onSelection)
        self.vscroll = pyui2.widgets.VScroll()
        self.addChild(self.vscroll)
        self.top = 0
        self.numNodes = 0  #number of visible nodes
        self.topNode = TreeNode(None, None)
        self.topNode.tree = self
        self.topNode.parent = None
        self.topNode.status = Tree.OPEN
        self.drawRootNode = False
예제 #19
0
파일: scroll.py 프로젝트: Ripsnorta/pyui2
 def __init__(self):
     self.scrollPos = 0  # pixel position of scroll bar
     self.currentItem = 0
     self.status = 0
     self.barSize = 1
     self.barSpace = 1
     self.numItems = 1
     self.numVisible = 1
     self.interval = 1
     Base.__init__(self)
     self.setupBar()
     self.setupPos()
     self.start = 0
     self.registerEvent(pyui2.locals.LMOUSEBUTTONDOWN, self._pyui2MouseDown)
     self.registerEvent(pyui2.locals.LMOUSEBUTTONUP, self._pyui2MouseUp)
     self.registerEvent(pyui2.locals.MOUSEMOVE, self._pyui2MouseMotion)
예제 #20
0
파일: panel.py 프로젝트: Ripsnorta/pyui2
    def addChild(self, child, option = None):
        if child.getID() == "":
            self.createChildID(child)

        Base.addChild(self, child)
        self.childOptions[child.id] = option

        if child.width > self.width:
            self.width = child.width
        if child.height > self.height:
            self.height = child.height
        # panel cannot be larger than parent
        if self.parent:
            if self.width > self.parent.width:
                self.width = self.parent.width
            if self.height > self.parent.height:
                self.height = self.parent.height
예제 #21
0
파일: window.py 프로젝트: Ripsnorta/pyui2
    def __init__(self, x, y, w, h, topmost = 0):
        self._panel = Panel()
        Base.__init__(self)
        self.topMost = topmost
        # the content panel is added as a child through Base::addChild to avoid recursively adding it to itself
        Base.addChild(self, self._panel)
        self._panel.setWindow(self)
        self._panel.setParent(self)
        self.placeInnerObjects()

        self.drawCommands = []
        # these are drawing callbacks to draw _after_ all the widgets are drawn
        self.drawLastCallbacks = []
        self.moveto(x, y)
        self.resize(w, h)
        getDesktop().addWindow(self)

        # Create the graphics context that will be used to display this window
        self.graphicsContext = getPresenter().getDeviceContext().createGraphicsContext((w, h))
예제 #22
0
파일: button.py 프로젝트: Ripsnorta/pyui2
    def __init__(self, text, handler = None, font=None, shadow=0, fgColor=None, bgColor=None, roColor=None):
        Base.__init__(self)
        self.handler = handler
        self.font=font
        self.shadow=shadow
        self.fgColor=fgColor
        self.bgColor=bgColor
        self.roColor=roColor

        self.setText(text)
        self.registerEvent(pyui2.locals.LMOUSEBUTTONDOWN, self._pyui2MouseDown)
        self.registerEvent(pyui2.locals.LMOUSEBUTTONUP, self._pyui2MouseUp)
        self.registerEvent(pyui2.locals.KEYDOWN, self._pyui2KeyDown)
        self.registerEvent(pyui2.locals.KEYUP, self._pyui2KeyUp)
        self.registerEvent(pyui2.locals.MOUSEMOVE, self._pyui2MouseMotion)
        self.registerEvent(pyui2.locals.CLICKED, self._pyui2Clicked)
        self.status = Button.IDLE
        self.capture = 0
        self.enabled = 1
        self.tooltipText = text
예제 #23
0
파일: edit.py 프로젝트: Ripsnorta/pyui2
    def __init__(self,text, maxSize, handler = None, readOnly = 0):
        Base.__init__(self)
        self.handler = handler
        self.caretPos = None
        self.selectPos = None
        self.setText(text)        
        self.dragging = 0
        self.maxSize = maxSize
        self.readOnly = readOnly

        self.font = getTheme().getAggProperty(("EDIT", "font"))
        if self.font == None:
            self.font = getTheme().getProperty("DEFAULT FONT")

        self.resize(self.width, int(self.font.getTextSize("x")[1] * 1.5) )
        #print "Edit widget sized to", self.width, self.height
        self.registerEvent(pyui2.locals.KEYDOWN, self._pyui2KeyDown)
        self.registerEvent(pyui2.locals.CHAR, self._pyui2Char)
        self.registerEvent(pyui2.locals.LMOUSEBUTTONDOWN, self._pyui2MouseDown)
        self.registerEvent(pyui2.locals.LMOUSEBUTTONUP, self._pyui2MouseUp)
        self.registerEvent(pyui2.locals.MOUSEMOVE, self._pyui2MouseMotion)
        self.registerEvent(pyui2.locals.CLICKED, self._pyui2Clicked)
예제 #24
0
 def resize(self, w, h):
     """ resize absolute size of the widget
     """
     Base.resize(self, w, h)
     self.placeInnerObjects()
예제 #25
0
 def move(self, dx, dy):
     """move relative to current position.
     """
     Base.move(self, dx, dy)
     self.placeInnerObjects()
예제 #26
0
 def moveto(self, x, y):
     """move to absolute position.
     """
     Base.moveto(self, x, y)
     self.placeInnerObjects()
예제 #27
0
파일: panel.py 프로젝트: Ripsnorta/pyui2
 def __init__(self):
     Base.__init__(self)
     self.childOptions = {}
     self.widgetIDs = {}
     self.registerEvent(pyui2.locals.KEYDOWN, self._pyui2KeyDown)
     self.setLayout(layouts.FlowLayoutManager())
예제 #28
0
파일: panel.py 프로젝트: Ripsnorta/pyui2
 def destroy(self):
     del self.layout
     self.layout = None
     Base.destroy(self)
예제 #29
0
파일: panel.py 프로젝트: Ripsnorta/pyui2
 def resize(self, w, h):
     Base.resize(self, w, h)
     self.pack()
예제 #30
0
파일: tree.py 프로젝트: Ripsnorta/pyui2
 def resize(self, w, h):
     Base.resize(self, w, h)
     self.vscroll.moveto(self.posX + self.width - 10, self.posY)
     self.vscroll.resize(10, self.height)
     self.vscroll.setNumItems(self.numNodes, self.height / itemHeight)