Esempio n. 1
0
	def __init__(ui):
		ui.fontDesc = pango.FontDescription('Univers,Sans Condensed 7')
		ui.fontFixedDesc = pango.FontDescription('Terminus,Monospace Bold 7')
		wg.Height = 25
		ui.uiInit()
		from TextViewVT import VTtext
		ui.vt = VTtext(ui.logView)
		ui.dialogsInit()
		if __name__ == "__main__":
			ui.mainWindow.connect("destroy", lambda w: gtk.main_quit())
			ui.buttonExit.connect("clicked", lambda w: gtk.main_quit())
			ui.logView.insert_end("User Interface Test...\nSo long… So long… So long… So long… long… Sooooo long… ")
			gtk.main()
Esempio n. 2
0
	def __init__(ui):
		ui.fontDesc = pango.FontDescription('Univers,Sans Condensed 7')
		ui.fontSmall = pango.FontDescription('Univers,Sans Condensed 8')
		ui.fontFixedDesc = pango.FontDescription('Terminus,Monospace Bold 7')
		wg.BGcolor = gtk.gdk.Color('#383430')
		wg.FGcolor = gtk.gdk.Color('#FFF')
		wg.BGcolorEntry = gtk.gdk.Color('#201810')
		wg.Height = 22
		ui.uiInit()
		if __name__ == "__main__":
			ui.mainWindow.connect("destroy", lambda w: gtk.main_quit())
			ui.buttonExit.connect("clicked", lambda w: gtk.main_quit())
			ui.logView.insert_end("User Interface Test...\n")
			ui.uiEnter()
Esempio n. 3
0
 def __init__(ui):
     ui.fontDesc = pango.FontDescription('Univers,Sans Condensed 7')
     ui.fontColDesc = pango.FontDescription('Univers Condensed CE 9')
     ui.fontFixedDesc = pango.FontDescription('Terminus,Monospace Bold 7')
     ui.uiInit()
     ui.createTxtTags()
     if __name__ == "__main__":
         ui.mainWindow.connect("destroy", lambda w: gtk.main_quit())
         ui.buttonExit.connect("clicked", lambda w: gtk.main_quit())
         _p = ui.logView.insert_end
         _p("Any logs appears here...\nThere's no any yet… \n")
         ui.buttonConvert.connect("clicked", ui.test)
         for _attr in dir(ui.logView):
             tatr = str(_attr)
             if tatr[0:2] == "tg":
                 _p("\t%s\n" % tatr)
         ui.uiEnter()
Esempio n. 4
0
class mySinker_UI:
    def __init__(ui):
        ui.fontDesc = pango.FontDescription('Univers,Sans Condensed 7')
        ui.fontColDesc = pango.FontDescription('Univers Condensed CE 9')
        ui.fontFixedDesc = pango.FontDescription('Terminus,Monospace Bold 7')
        ui.uiInit()
        ui.createTxtTags()
        if __name__ == "__main__":
            ui.mainWindow.connect("destroy", lambda w: gtk.main_quit())
            ui.buttonExit.connect("clicked", lambda w: gtk.main_quit())
            _p = ui.logView.insert_end
            _p("Any logs appears here...\nThere's no any yet… \n")
            ui.buttonConvert.connect("clicked", ui.test)
            for _attr in dir(ui.logView):
                tatr = str(_attr)
                if tatr[0:2] == "tg":
                    _p("\t%s\n" % tatr)
            ui.uiEnter()

    uiEnter = lambda ui: gtk.main()
    uiExit = lambda ui: gtk.main_quit()

    if __name__ == "__main__":

        def test(ui, butt):
            lv = ui.logView
            _p = lv.insert_end
            for txtslice, cTag in (("Error in file:", 2), ("'", 0),
                                   ('/examplePath/exampleFile.filter',
                                    1), ("'\n", 0)):
                _p(txtslice, tag=(None, 'tgFileName', 'tgErr')[cTag])
            insp_o = lv.tgFileName
            _p("%s\n" % str(insp_o))
            for _attr in dir(insp_o):
                tatr = str(_attr)
                _p("\t%s\n" % tatr)
            for txtslice, cTag in (("Error in file:", 2), ("'", 0),
                                   ('/examplePath/exampleFile.filter',
                                    1), ("'\n", 0)):
                _p(txtslice, tag=(None, lv.tgFileName, lv.tgErr)[cTag])

    def uiInit(ui):
        from os import path as ph
        ui.runpath = ph.dirname(ph.realpath(__file__))
        if __name__ == "__main__":
            ui.cfg = {}
        wg.Height = 25
        ui.title = 'Path Of Exile Loot Filter Customize…'
        ui.mainWindow = gtk.Window(gtk.WINDOW_TOPLEVEL)
        w, h, ui.hgtLower = (500, 400, wg.Height * (LO_ROWS + 1))
        ui.mainWindow.set_geometry_hints(min_width=w, min_height=h)
        ui.mainWindow.set_size_request(w, h)
        ui.mainWindow.set_title(ui.title)
        ui.mainWindow.set_border_width(5)
        ui.accGroup = gtk.AccelGroup()
        ui.mainWindow.add_accel_group(ui.accGroup)

        mfm = ui.mnFx = gtk.Fixed()

        ui.logView = wg.TextView(mfm,
                                 5,
                                 5,
                                 0,
                                 0,
                                 bEditable=False,
                                 tabSpace=4,
                                 fontDesc=ui.fontFixedDesc)

        ui.txtFN = u'Use „Open” button to browse *.filter file →'
        from wgts import getTxtPixelWidth
        ui.lw = 0
        for select in lsFiles:
            txtLabel = "%s File:" % select
            lb = wg.Label(txtLabel, mfm, 0, 0, 60)
            lw = getTxtPixelWidth(lb, txtLabel, fontDesc=ui.fontDesc) + 5
            ui.lw = max(ui.lw, lw)
            lb.set_size_request(lw - 2, wg.Height)
            setattr(ui, 'labFilename' + select, lb)
            if __name__ == "__main__":
                print(u"Label „%s” size: %d" % (txtLabel, lw))
                dsplFilename = wg.Butt(ui.txtFN, mfm, 0, 0, 0)
            else:
                dsplFilename = wg.Label(ui.txtFN,
                                        mfm,
                                        0,
                                        0,
                                        0,
                                        xalign=0.,
                                        selectable=True)
            setattr(ui, 'dsplFilename' + select, dsplFilename)
            bt = wg.Butt(None, mfm, 0, 0, 30,
                         stockID=gtk.STOCK_OPEN)  #"Set FileName..."
            setattr(ui, 'buttonFileName' + select, bt)

        ui.buttonLastRel = wg.Butt(None,
                                   mfm,
                                   0,
                                   0,
                                   30,
                                   stockID=gtk.STOCK_DIALOG_QUESTION)
        ui.buttonLastRel.set_tooltip_text('Check latest Release')
        ui.buttonUnZip = wg.Butt(None,
                                 mfm,
                                 0,
                                 0,
                                 30,
                                 fileImage=ph.join(
                                     ph.dirname(ph.abspath(__file__)),
                                     'ico/package.svg'))
        ui.buttonConvert = wg.Butt(None,
                                   mfm,
                                   0,
                                   0,
                                   30,
                                   stockID=gtk.STOCK_CONVERT)  #"Proceed..."
        ui.buttonDiff = wg.Butt("Diff", mfm, 0, 0, 50)

        ui.chkDbg = wg.Check("Debug", mfm, 0, 0, 50)

        ui.toggWrap = wg.Toggle("Wrap words", mfm, 0, 0, 70)

        ui.buttonPreferences = wg.Butt(None,
                                       mfm,
                                       0,
                                       0,
                                       30,
                                       stockID=gtk.STOCK_PREFERENCES)

        ui.buttonClear = wg.Butt("Clear", mfm, 0, 0, 50)

        ui.buttonExit = wg.Butt("Exit (Ctrl+Q)", mfm, 0, 0, 80)
        ui.buttonExit.add_accelerator("clicked", ui.accGroup, ord('Q'),
                                      gtk.gdk.CONTROL_MASK, gtk.ACCEL_VISIBLE)

        ui.mainWindow.add(mfm)
        ui.mainWindow.show_all()
        ui.mainWindow.set_keep_above(True)
        ui.lastWinSize = None
        ui.buttonClear.connect("clicked",
                               lambda xargs: ui.logView.clear_text())
        ui.mainWindow.connect("configure-event", ui.uiSize)
        ui.toggWrap.connect("toggled", ui.appWrap)

        ui.poeFilter = gtk.FileFilter()
        ui.poeFilter.set_name("PoE item filter script (*.filter)")
        ui.poeFilter.add_pattern("*.filter")

        ui.poeFilterZip = gtk.FileFilter()
        ui.poeFilterZip.set_name("PoE item filter pack by NeverSink (*.zip)")
        ui.poeFilterZip.add_pattern("*.zip")

        ui.dlgs = Dialogs(ui, ui.mainWindow)

    def createTxtTags(ui):
        lv = ui.logView
        lb = lv.get_buffer()
        lv.tgFileName = lb.create_tag('filename',
                                      weight=pango.WEIGHT_BOLD,
                                      foreground='yellow')
        lv.tgPhrase = lb.create_tag('phrase',
                                    weight=pango.WEIGHT_BOLD,
                                    foreground='orange')
        lv.tgWarn = lb.create_tag('warning',
                                  weight=pango.WEIGHT_BOLD,
                                  foreground='#FD0')
        lv.tgErr = lb.create_tag('error',
                                 weight=pango.WEIGHT_BOLD,
                                 foreground='red')
        lv.tgEnum = lb.create_tag('line_number',
                                  weight=pango.WEIGHT_BOLD,
                                  foreground='#0F0')

    def uiSize(ui, window, event):
        if event.type == wg.gtk.gdk.CONFIGURE:
            w, h = event.width, event.height
            if ui.lastWinSize == (w, h):
                return True
            ui.lastWinSize = w, h
            wgH = wg.Height
            mfm = ui.mnFx
            ha = h - ui.hgtLower - 10
            ui.logView.size(w - 20, ha)
            y = ha + 10
            lw = ui.lw
            for select in lsFiles:
                labFilename = getattr(ui, 'labFilename' + select)
                mfm.move(labFilename, 0, y)
                dsplFilename = getattr(ui, 'dsplFilename' + select)
                dsplFilename.size(w - 50 - lw, wgH)
                mfm.move(dsplFilename, lw, y)
                bt = getattr(ui, 'buttonFileName' + select)
                mfm.move(bt, w - 45, y)
                y += wg.Height + 5
            mfm.move(ui.buttonLastRel, 0, y)
            mfm.move(ui.buttonUnZip, 35, y)
            mfm.move(ui.buttonConvert, 70, y)
            mfm.move(ui.buttonDiff, 105, y)
            mfm.move(ui.chkDbg, 160, y)
            mfm.move(ui.buttonPreferences, w - 270, y)
            mfm.move(ui.toggWrap, w - 225, y)
            mfm.move(ui.buttonClear, w - 150, y)
            mfm.move(ui.buttonExit, w - 95, y)
            return True

    def appWrap(ui, widget):
        ui.logView.set_wrap_mode(
            (gtk.WRAP_NONE, gtk.WRAP_WORD)[widget.get_active()])

    def restoreGeometry(ui):
        if hasattr(ui, 'dlgs') and (ui.cfg['dlgPrefPos']):
            ui.dlgs.dlgPrefPos = tuple(
                map(lambda k: int(k), ui.cfg['dlgPrefPos'].split(',')))
        ui.rGeo(ui.mainWindow, 'MainWindowGeometry')

    def storeGeometry(ui):
        if hasattr(ui, 'dlgs'):
            dlgs = ui.dlgs
            dlgs.hideDlgPref()
            if dlgs.dlgPrefPos:
                ui.cfg['dlgPrefPos'] = "%i,%i" % dlgs.dlgPrefPos
        ui.cfg['MainWindowGeometry'] = ui.sGeo(ui.mainWindow)