Ejemplo n.º 1
0
    def brushChanged(self):
        style = Qt.BrushStyle(self.brushStyleComboBox.itemData(
                self.brushStyleComboBox.currentIndex(), IdRole))

        if style == Qt.LinearGradientPattern:
            linearGradient = QLinearGradient(0, 0, 100, 100)
            linearGradient.setColorAt(0.0, Qt.white)
            linearGradient.setColorAt(0.2, Qt.green)
            linearGradient.setColorAt(1.0, Qt.black)
            self.renderArea.setBrush(QBrush(linearGradient))
        elif style == Qt.RadialGradientPattern:
            radialGradient = QRadialGradient(50, 50, 50, 70, 70)
            radialGradient.setColorAt(0.0, Qt.white)
            radialGradient.setColorAt(0.2, Qt.green)
            radialGradient.setColorAt(1.0, Qt.black)
            self.renderArea.setBrush(QBrush(radialGradient))
        elif style == Qt.ConicalGradientPattern:
            conicalGradient = QConicalGradient(50, 50, 150)
            conicalGradient.setColorAt(0.0, Qt.white)
            conicalGradient.setColorAt(0.2, Qt.green)
            conicalGradient.setColorAt(1.0, Qt.black)
            self.renderArea.setBrush(QBrush(conicalGradient))
        elif style == Qt.TexturePattern:
            self.renderArea.setBrush(QBrush(QPixmap(':/images/brick.png')))
        else:
            self.renderArea.setBrush(QBrush(Qt.green, style))
Ejemplo n.º 2
0
    def __init__(self, widget):
        QMainWindow.__init__(self)
        self.setWindowTitle("Login to Backend Discord GUI")

        grad = QPalette()
        gradient = QConicalGradient(QPointF(400, -10), 200)
        gradient.setColorAt(0.0, QColor(30, 30, 30))
        gradient.setColorAt(0.5, QColor(50, 50, 50))
        gradient.setColorAt(0.95, QColor(50, 13, 150))
        gradient.setColorAt(1.0, QColor(106, 13, 173))
        gradient.setSpread(QGradient.RepeatSpread)
        grad.setBrush(QPalette.Window, QBrush(gradient))
        self.setPalette(grad)

        # Status Bar
        self.statusbar = self.statusBar()
        self.statusbar.showMessage("Looking for data...")
        self.searchData()

        frameGm = self.frameGeometry()
        screen = QApplication.desktop().screenNumber(
            QApplication.desktop().cursor().pos())
        centerPoint = QApplication.desktop().screenGeometry(screen).center()
        frameGm.moveCenter(centerPoint)
        self.move(frameGm.topLeft())

        self.setCentralWidget(widget)
Ejemplo n.º 3
0
    def rebuildDataBrushIfNeeded(self):
        if self.rebuildBrush:
            self.rebuildBrush = False

            dataBrush = QConicalGradient()
            dataBrush.setCenter(0.5, 0.5)
            dataBrush.setCoordinateMode(QGradient.StretchToDeviceMode)

            for pos, color in self.gradientData:
                dataBrush.setColorAt(1.0 - pos, color)

            # angle
            dataBrush.setAngle(self.nullPosition)

            p = self.palette()
            p.setBrush(QPalette.Highlight, dataBrush)
            self.setPalette(p)
Ejemplo n.º 4
0
    def brushChanged(self):
        style = Qt.BrushStyle(
            self.brushStyleComboBox.itemData(
                self.brushStyleComboBox.currentIndex(), IdRole))

        if style == Qt.LinearGradientPattern:
            linearGradient = QLinearGradient(0, 0, 100, 100)
            linearGradient.setColorAt(0.0, Qt.white)
            linearGradient.setColorAt(0.2, Qt.green)
            linearGradient.setColorAt(1.0, Qt.black)
            self.renderArea.setBrush(QBrush(linearGradient))
        elif style == Qt.RadialGradientPattern:
            radialGradient = QRadialGradient(50, 50, 50, 70, 70)
            radialGradient.setColorAt(0.0, Qt.white)
            radialGradient.setColorAt(0.2, Qt.green)
            radialGradient.setColorAt(1.0, Qt.black)
            self.renderArea.setBrush(QBrush(radialGradient))
        elif style == Qt.ConicalGradientPattern:
            conicalGradient = QConicalGradient(50, 50, 150)
            conicalGradient.setColorAt(0.0, Qt.white)
            conicalGradient.setColorAt(0.2, Qt.green)
            conicalGradient.setColorAt(1.0, Qt.black)
            self.renderArea.setBrush(QBrush(conicalGradient))
        elif style == Qt.TexturePattern:
            self.renderArea.setBrush(QBrush(QPixmap(':/images/brick.png')))
        else:
            self.renderArea.setBrush(QBrush(Qt.green, style))
    def createRightSide(self):
        self.topRightGroupBox = QGroupBox()
        self.totalLength = 0
        self.elems = 0
        self.elems_list = []

        self.overall_layout = QVBoxLayout()

        grad = QPalette()
        gradient = QConicalGradient(QPointF(1100, 150), -190)
        gradient.setColorAt(0.0, QColor(30, 30, 30))
        gradient.setColorAt(0.5, QColor(50, 50, 50))
        gradient.setColorAt(0.97, QColor(50, 13, 150))
        gradient.setColorAt(1.0, QColor(106, 13, 173))
        gradient.setSpread(QGradient.RepeatSpread)
        grad.setBrush(QPalette.Window, QBrush(gradient))
        self.setPalette(grad)

        self.scrollarea = QScrollArea()
        self.scrollarea.setWidgetResizable(True)

        self.widget = QWidget()
        self.scrollarea.setWidget(self.widget)

        self.layout = QVBoxLayout(self.widget)

        self.add_elem = QPushButton("Add Element")
        if PLATFORM == "darwin": self.add_elem.setToolTip("Shortcut: ⌘E")
        else: self.add_elem.setToolTip("Shortcut: Ctrl+E")
        self.add_elem.setStyleSheet(
            "QToolTip { border: 0px; border-radius: 3px }")
        self.add_elem.clicked.connect(lambda: ElementPopup())
        self.add_elem.setFixedWidth(300)

        shortcut = QShortcut(QKeySequence("Ctrl+E"), self.add_elem)
        shortcut.activated.connect(lambda: ElementPopup())
        shortcut.setEnabled(True)

        self.layout.addWidget(self.add_elem)
        self.layout.setAlignment(self.add_elem, Qt.AlignCenter | Qt.AlignTop)
        self.overall_layout.addWidget(self.scrollarea)
        self.topRightGroupBox.setLayout(self.overall_layout)
Ejemplo n.º 6
0
    def paintEvent(self, event):
        painter = QPainter(self)
        painter.setRenderHint(painter.Antialiasing)

        #painter.setBrush(QBrush(Qt.black, Qt.NoBrush))
        #painter.drawRect(self.winBox)  # border

        # value selector indicator
        painter.setBrush(QBrush(Qt.black, Qt.SolidPattern))
        painter.drawPie(self.vIdBox, 16 * (degrees(self.vIdAng) - 22.5), 720)

        # value selector arc
        painter.setClipPath(self.vArcPath)
        painter.setPen(Qt.NoPen)
        arc = QConicalGradient(self.cen, self.e_ang)
        color = QColor()
        color.setHsv(self.hue, self.sat, 255)
        arc.setColorAt(1 - (self.e_ang - self.s_ang) / 360.0, color)
        arc.setColorAt(1, Qt.black)
        arc.setColorAt(0, Qt.black)
        painter.setBrush(arc)
        painter.drawPath(self.vArcPath)
        painter.setClipPath(self.vArcPath, Qt.NoClip)

        # color wheel
        painter.setPen(Qt.NoPen)
        painter.setBrush(self.cWhlBrush1)
        painter.drawEllipse(self.cWhBox)
        painter.setBrush(self.cWhlBrush2)
        painter.drawEllipse(self.cWhBox)

        # crosshairs
        painter.setClipPath(self.colWhlPath)
        painter.setBrush(QBrush(Qt.black, Qt.SolidPattern))
        chVert = QRectF(0, 0, 2, 20)
        chHort = QRectF(0, 0, 20, 2)
        chVert.moveCenter(self.chPt)
        chHort.moveCenter(self.chPt)
        painter.drawRect(chVert)
        painter.drawRect(chHort)

        # named color locations
        if self._showNames:
            painter.setClipPath(self.vArcPath, Qt.NoClip)
            painter.setPen(Qt.SolidLine)
            try:
                painter.drawPoints(*self._namedColorPts)  # PyQt
            except:
                painter.drawPoints(self._namedColorPts)  # PySide
Ejemplo n.º 7
0
    def setup(self):
        "sets bounds on value arc and color wheel"
        # bounding boxes
        self.winBox = QRectF(self.rect())
        self.vIoBox = QRectF()  # value indicator arc outer
        self.vIdBox = QRectF()  # value indicator box
        self.vAoBox = QRectF()  # value arc outer
        self.vAiBox = QRectF()  # value arc inner
        self.cWhBox = QRectF()  # color wheel

        self.vIdBox.setSize(QSizeF(15, 15))
        self.vIoBox.setSize(self.winBox.size())
        self.vAoBox.setSize(self.winBox.size() - self.vIdBox.size() / 2.0)
        self.vAiBox.setSize(self.vAoBox.size() - QSizeF(20, 20))
        self.cWhBox.setSize(self.vAiBox.size() - QSizeF(20, 20))

        # center - shifted to the right slightly
        x = self.winBox.width() - (self.vIdBox.width() +
                                   self.vAiBox.width()) / 2.0
        self.cen = QPointF(x, self.winBox.height() / 2.0)

        # positions and initial settings
        self.vAoBox.moveCenter(self.cen)
        self.vAiBox.moveCenter(self.cen)
        self.cWhBox.moveCenter(self.cen)
        self.vIdBox.moveCenter(self.vIdCen)

        self.cW_rad = self.cWhBox.width() / 2.0
        self.ang_w = radians(self.s_ang) - radians(self.e_ang)

        # gradients
        colWhl = QConicalGradient(self.cen, self.o_ang)
        whl_cols = [
            Qt.red, Qt.magenta, Qt.blue, Qt.cyan, Qt.green, Qt.yellow, Qt.red
        ]
        for i, c in enumerate(whl_cols[::self.rot_d]):
            colWhl.setColorAt(i / 6.0, c)

        rad = min(self.cWhBox.width() / 2.0, self.cWhBox.height() / 2.0)
        cWhlFade = QRadialGradient(self.cen, rad, self.cen)
        cWhlFade.setColorAt(0, Qt.white)
        cWhlFade.setColorAt(1, QColor(255, 255, 255, 0))

        self.cWhlBrush1 = QBrush(colWhl)
        self.cWhlBrush2 = QBrush(cWhlFade)

        # painter paths (arcs, wheel)
        rad = self.vAoBox.width() / 2.0
        x, y = rad * cos(radians(self.s_ang)), -rad * sin(radians(self.s_ang))
        x += self.cen.x()
        y += self.cen.y()

        self.vArcPath = QPainterPath(QPointF(x, y))  # value arc (for color)
        self.vArcPath.arcTo(self.vAoBox, self.s_ang, self.e_ang - self.s_ang)
        self.vArcPath.arcTo(self.vAiBox, self.e_ang, self.s_ang - self.e_ang)
        self.vArcPath.closeSubpath()

        self.vInArcPath = QPainterPath(QPointF(x, y))  # value arc (for mouse)
        self.vInArcPath.arcTo(self.vIoBox, self.s_ang, self.e_ang - self.s_ang)
        self.vInArcPath.arcTo(self.vAiBox, self.e_ang, self.s_ang - self.e_ang)
        self.vInArcPath.closeSubpath()

        self.colWhlPath = QPainterPath()
        self.colWhlPath.addEllipse(self.cWhBox)
    def __init__(self, widget):
        QMainWindow.__init__(self)
        self.setWindowTitle("Backend Discord GUI")

        grad = QPalette()
        gradient = QConicalGradient(QPointF(700, -10), 195)
        gradient.setColorAt(0.0, QColor(30, 30, 30))
        gradient.setColorAt(0.5, QColor(50, 50, 50))
        gradient.setColorAt(0.97, QColor(50, 13, 150))
        gradient.setColorAt(1.0, QColor(106, 13, 173))
        gradient.setSpread(QGradient.RepeatSpread)
        grad.setBrush(QPalette.Window, QBrush(gradient))
        self.setPalette(grad)

        # Status Bar
        self.statusbar = self.statusBar()
        self.statusbar.showMessage("Preparing Window...")

        qtRectangle = self.frameGeometry()
        centerPoint = QDesktopWidget().availableGeometry().center()
        qtRectangle.moveCenter(centerPoint)
        self.move(qtRectangle.topLeft())

        # Menu
        self.menu = self.menuBar()
        file_menu = self.menu.addMenu("File")

        new_bot_proj = QAction("New Bot Project", self)
        new_bot_proj.setShortcut("Ctrl+P")
        new_bot_proj.setStatusTip('Create a new Bot')
        new_bot_proj.triggered.connect(self.do_nothing)

        new_bot_file = QAction("New Bot File", self)
        new_bot_file.setShortcut("Ctrl+N")
        new_bot_file.setStatusTip('Create a new Command file')
        new_bot_file.triggered.connect(self.do_nothing)

        new_int_play = QAction("New Interactive Playground", self)
        new_int_play.setStatusTip('Create a Test App')
        new_int_play.triggered.connect(self.do_nothing)

        open_bot_proj = QAction("Open Bot Project", self)
        open_bot_proj.setShortcut("Ctrl+O")
        open_bot_proj.setStatusTip('Open a Bot Project')
        open_bot_proj.triggered.connect(self.do_nothing)

        open_bot_file = QAction("Open Bot File", self)
        open_bot_file.setStatusTip('Open a Command file')
        open_bot_file.triggered.connect(self.do_nothing)

        open_bot_iplay = QAction("Open Interactive Playground", self)
        open_bot_iplay.setStatusTip('Open a Test App')
        open_bot_iplay.triggered.connect(self.do_nothing)

        add_bot_file = QAction("Add Bot File", self)
        add_bot_file.setStatusTip('Add existing Command file')
        add_bot_file.triggered.connect(self.do_nothing)

        save_bot_proj = QAction("Save Bot Project", self)
        save_bot_proj.setStatusTip('Save a Bot Project')
        save_bot_proj.triggered.connect(self.do_nothing)

        save_bot_file = QAction("Save Bot File", self)
        save_bot_file.setStatusTip('Save a Command file')
        save_bot_file.triggered.connect(self.do_nothing)

        save_all = QAction("Save All", self)
        save_all.setShortcut("Ctrl+S")
        save_all.triggered.connect(self.do_nothing)

        close_editor = QAction("Close Editor", self)
        close_editor.setStatusTip('Close the editor only')
        close_editor.triggered.connect(self.do_nothing)

        close_workspace = QAction("Close Workspace", self)
        close_workspace.setShortcut("Ctrl+Q")
        close_workspace.setStatusTip('Close everything')
        close_workspace.triggered.connect(self.do_nothing)

        file_menu.addAction(new_bot_proj)
        file_menu.addAction(new_bot_file)
        file_menu.addAction(new_int_play)
        file_menu.addSeparator()
        file_menu.addAction(open_bot_proj)
        file_menu.addAction(open_bot_file)
        file_menu.addAction(open_bot_iplay)
        file_menu.addAction(add_bot_file)
        file_menu.addSeparator()
        file_menu.addAction(save_bot_proj)
        file_menu.addAction(save_bot_file)
        file_menu.addAction(save_all)
        file_menu.addSeparator()
        file_menu.addAction(close_editor)
        file_menu.addAction(close_workspace)

        edit_menu = self.menu.addMenu("Edit")

        find_file = QAction("Find File", self)
        find_file.setShortcut("Ctrl+F")
        find_file.setStatusTip("Find a Command")
        find_file.triggered.connect(self.do_nothing)

        file_settings = QAction("Open Find Settings", self)
        file_settings.setShortcut("Ctrl+Shift+S")
        file_settings.setStatusTip("Find a Command")
        file_settings.triggered.connect(self.do_nothing)

        toggle_file = QAction("Toggle File", self, checkable=True)
        toggle_file.setStatusTip("Toggles a Command file to be used")
        toggle_file.setChecked(True)
        toggle_file.triggered.connect(self.do_nothing)

        delete_file = QAction("Delete File", self)
        delete_file.setShortcut("Ctrl+Backspace")
        delete_file.setStatusTip("Delete a Command file")
        delete_file.triggered.connect(self.do_nothing)

        remove_file = QAction("Remove File", self)
        remove_file.setStatusTip("Removes a Command file from workspace")
        remove_file.triggered.connect(self.do_nothing)

        edit_menu.addAction(find_file)
        edit_menu.addAction(file_settings)
        edit_menu.addAction(toggle_file)
        edit_menu.addSeparator()
        edit_menu.addAction(delete_file)
        edit_menu.addAction(remove_file)

        viewMenu = self.menu.addMenu('View')

        command_palette = QAction("Command Palette", self)
        command_palette.setShortcut("Ctrl+Shift+P")
        command_palette.setStatusTip("Delete a Command file")
        command_palette.triggered.connect(self.do_nothing)

        open_view = QAction("Open View", self)
        open_view.setStatusTip("Delete a Command file")
        open_view.triggered.connect(self.do_nothing)

        appearance_settings = QAction("Appearance Settings", self)
        appearance_settings.setStatusTip("Delete a Command file")
        appearance_settings.triggered.connect(self.do_nothing)

        output_console = QAction("Output Console", self)
        output_console.setStatusTip("Delete a Command file")
        output_console.triggered.connect(self.do_nothing)

        debug_console = QAction("Debug Console", self)
        debug_console.setStatusTip("Delete a Command file")
        debug_console.triggered.connect(self.do_nothing)

        error_log = QAction("Error Log", self)
        error_log.setStatusTip("Delete a Command file")
        error_log.triggered.connect(self.do_nothing)

        view_logs = QAction("View All Logs", self)
        view_logs.setStatusTip("Delete a Command file")
        view_logs.triggered.connect(self.do_nothing)

        viewStatAct = QAction('View statusbar', self, checkable=True)
        viewStatAct.setStatusTip('View statusbar')
        viewStatAct.setChecked(True)
        viewStatAct.triggered.connect(self.toggleMenu)

        viewMenu.addAction(command_palette)
        viewMenu.addAction(open_view)
        viewMenu.addSeparator()
        viewMenu.addAction(appearance_settings)
        viewMenu.addSeparator()
        viewMenu.addAction(output_console)
        viewMenu.addAction(debug_console)
        viewMenu.addAction(error_log)
        viewMenu.addAction(view_logs)
        viewMenu.addSeparator()
        viewMenu.addAction(viewStatAct)

        runMenu = self.menu.addMenu('Run')

        start = QAction("Start", self)
        start.setShortcut("Ctrl+R")
        start.setStatusTip("Begin to start Command")
        start.triggered.connect(self.do_nothing)

        stop = QAction("Stop", self)
        stop.setShortcut("Ctrl+T")
        stop.setStatusTip("Terminate the Command")
        stop.triggered.connect(self.do_nothing)

        test_file = QAction("Test File", self)
        test_file.setStatusTip("Test the Command open on test server")
        test_file.triggered.connect(self.do_nothing)

        test_server = QAction("Test Server Connect", self)
        test_server.setShortcut("Ctrl+Shift+R")
        test_server.setStatusTip("Test server connection")
        test_server.triggered.connect(self.do_nothing)

        test_ping = QAction("Test Activity Ping", self)
        test_ping.setStatusTip("Test Bot API connection")
        test_ping.triggered.connect(self.do_nothing)

        test_commands = QAction("Test Ping Commands", self)
        test_commands.setStatusTip("Test all commands received")
        test_commands.triggered.connect(self.do_nothing)

        open_test_logs = QAction("View Test Logs", self)
        open_test_logs.setStatusTip("Open the logs for testing")
        open_test_logs.triggered.connect(self.do_nothing)

        runMenu.addAction(start)
        runMenu.addAction(stop)
        runMenu.addSeparator()
        runMenu.addAction(test_file)
        runMenu.addAction(test_server)
        runMenu.addAction(test_ping)
        runMenu.addAction(test_commands)
        runMenu.addAction(open_test_logs)

        terminalMenu = self.menu.addMenu('Terminal')

        start_bot = QAction("Start Bot", self)
        start_bot.setStatusTip("Begin to start Bot")
        start_bot.triggered.connect(self.do_nothing)

        stop_bot = QAction("Stop Bot", self)
        stop_bot.setStatusTip("Terminate the Bot")
        stop_bot.triggered.connect(self.do_nothing)

        terminal_logs = QAction("View Terminal Logs", self)
        terminal_logs.setStatusTip("Opens the Terminal logs")
        terminal_logs.triggered.connect(self.do_nothing)

        python_discord = QAction("Build Task as Python Discord", self)
        python_discord.setStatusTip(
            "Builds the Bot in Python Programming Language")
        python_discord.triggered.connect(self.do_nothing)

        javascript_discord = QAction("Build Task as Javascript Discord", self)
        javascript_discord.setStatusTip(
            "Builds the Bot in Javascript Programming Language")
        javascript_discord.triggered.connect(self.do_nothing)

        discordGUI_discord = QAction("Build Task as Discord-GUI", self)
        discordGUI_discord.setShortcut("Ctrl+Shift+W")
        discordGUI_discord.setStatusTip(
            "Builds the Bot in Discord-GUI Readable Language")
        discordGUI_discord.triggered.connect(self.do_nothing)

        build_errors = QAction("View Build Errors", self)
        build_errors.setStatusTip("Opens the Build Error Log")
        build_errors.triggered.connect(self.do_nothing)

        terminalMenu.addAction(start_bot)
        terminalMenu.addAction(stop_bot)
        terminalMenu.addSeparator()
        terminalMenu.addAction(terminal_logs)
        terminalMenu.addSeparator()
        terminalMenu.addAction(python_discord)
        terminalMenu.addAction(javascript_discord)
        terminalMenu.addAction(discordGUI_discord)
        terminalMenu.addAction(build_errors)

        windowMenu = self.menu.addMenu('Window')

        hide = QAction("Hide", self)
        hide.setStatusTip("Hide the Window")
        hide.triggered.connect(self.do_nothing)

        minimise = QAction("Minimise", self)
        minimise.setStatusTip("Minimise the Window")
        minimise.triggered.connect(self.do_nothing)

        maximise = QAction("Maximise", self)
        maximise.setStatusTip("Maximise the Window")
        maximise.triggered.connect(self.do_nothing)

        settings = QAction("Discord-GUI Settings", self)
        settings.setShortcut("Ctrl+L")
        settings.setStatusTip("Opens Discord-GUI's Settings")
        settings.triggered.connect(self.do_nothing)

        directory = QAction("Open Discord-GUI Directory", self)
        directory.setStatusTip("Goto the Discord-GUI Directory")
        directory.triggered.connect(self.do_nothing)

        windowMenu.addAction(hide)
        windowMenu.addAction(minimise)
        windowMenu.addAction(maximise)
        windowMenu.addSeparator()
        windowMenu.addAction(settings)
        windowMenu.addAction(directory)

        helpMenu = self.menu.addMenu('Help')

        welcome = QAction("Welcome", self)
        welcome.setStatusTip("Displays Welcome Message")
        welcome.triggered.connect(self.do_nothing)

        int_play = QAction("Interactive Playground", self)
        int_play.setStatusTip("Displays Interactive Playground Help")
        int_play.triggered.connect(self.do_nothing)

        docs = QAction("Documentation", self)
        docs.setStatusTip("Redirects to the Documentation of the app")
        docs.triggered.connect(self.do_nothing)

        keys_shorts = QAction("Keyboard Shortcuts", self)
        keys_shorts.setStatusTip("Displays Keyboard Shortcuts")
        keys_shorts.triggered.connect(self.do_nothing)

        report_issue = QAction("Report Issue", self)
        report_issue.setStatusTip("Redirects to Reporting an Issue")
        report_issue.triggered.connect(self.do_nothing)

        more_help = QAction("More Help", self)
        more_help.setStatusTip("Redirects to More Help Page")
        more_help.triggered.connect(self.do_nothing)

        helpMenu.addAction(welcome)
        helpMenu.addAction(int_play)
        helpMenu.addAction(docs)
        helpMenu.addSeparator()
        helpMenu.addAction(keys_shorts)
        helpMenu.addAction(report_issue)
        helpMenu.addAction(more_help)

        self.setCentralWidget(widget)