Esempio n. 1
0
    def create_box(self,
                   containers: QFrame,
                   count_box: int,
                   title: str = "",
                   box_type: bool = True,
                   start_location: int = 30,
                   count_star_type1: int = 3,
                   count_star_type2: int = 2):
        """this method for create details

        Arguments:
            containers {QFrame} -- [parent layout]
            count_box {int} -- [count for create]

        Keyword Arguments:
            title {str} -- [title in box] (default: {""})
            box_type {box type color type star box ...} -- [description] (default: {True})
            start_location {int} -- [ create box in location] (default: {30})

        Returns:
            [int] -- [location for use create other box]
        """
        from ..star_box.starbox import StarBox
        for box_enumerate in range(count_box):

            card_details = QFrame(containers)
            if box_enumerate != 0:
                card_details.move(
                    int(start_location) * box_enumerate + 138 + 20, 20)
                card_details.resize(138, 138)
            else:
                card_details.move(int(start_location), 20)
                card_details.resize(138, 138)

            card_details.setCursor(QCursor(Qt.PointingHandCursor))

            if box_type:
                StarBox().create_star(card_containers=card_details,
                                      count_star_type1=count_star_type1,
                                      count_star_type2=count_star_type2)
                card_details.setObjectName(
                    BoxStyles.card_details_style_type_1[0])
                card_details.setStyleSheet(
                    BoxStyles.card_details_style_type_1[1])
            else:
                StarBox().create_star(card_containers=card_details,
                                      count_star_type1=count_star_type1,
                                      count_star_type2=count_star_type2,
                                      star_type=False)
                card_details.setObjectName(
                    BoxStyles.card_details_style_type_2[0])
                card_details.setStyleSheet(
                    BoxStyles.card_details_style_type_2[1])

            lbl_title = QLabel(card_details)
            lbl_title.setGeometry(QRect(0, 10, 138, 20))
            lbl_title.setObjectName(BoxStyles.lbl_title_styles[0])
            lbl_title.setStyleSheet(BoxStyles.lbl_title_styles[1])
            lbl_title.setAlignment(Qt.AlignCenter)
            lbl_title.setText(title)
            card_details.setFrameShape(QFrame.StyledPanel)
            card_details.setFrameShadow(QFrame.Raised)

        return (int(start_location * (box_enumerate + 1)) + 138) + 20
Esempio n. 2
0
class WindowFrame(QDialog):
    def __init__(self):
        super(WindowFrame, self).__init__()
        self.closed = False
        self.maxNormal = False
        self.resize(840, 480)
        self.setMouseTracking(True)

        self.base_path = os.path.dirname(__file__)

        QDir.setCurrent(os.path.dirname(self.base_path))

        #self.setWindowFlags(Qt.FramelessWindowHint)
        self.setWindowFlags(Qt.SplashScreen)
        #self.setWindowFlags(Qt.FramelessWindowHint|Qt.WindowStaysOnTopHint)
        #self.setStyleSheet("border : none; background-color : rgba(250,100,100,0)")
        #self.setAutoFillBackground(True)
        #self.setAttribute(Qt.WA_TranslucentBackground)

        self.mainLayout = QVBoxLayout()
        self.mainLayout.setContentsMargins(0, 0, 0, 0)
        self.mainLayout.setSpacing(0)

        #Title Bar
        self.area = ComboBox()
        self.area.setSizePolicy(
            QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed))
        self.area.setMaximumWidth(32)
        #self.area.setMinimumWidth(32)
        #self.area.setMinimumHeight(28)

        self.area.addItem(QIcon(icon_path("ICON_ACTION")), "Prefs")
        self.area.addItem(QIcon(icon_path("ICON_GROUP")), "Library")
        self.area.addItem(QIcon(icon_path("ICON_MATERIAL")), "Assets")

        self.titleBarArea = QFrame()
        #self.titleBarArea.setCursor(Qt.OpenHandCursor)
        self.titleBarLayout = QHBoxLayout()
        self.titleBarLayout.setContentsMargins(4, 2, 4, 2)
        self.titleBarArea.setStyleSheet("""
                            border : none; background-color : rgb(100,100,100);
                            border-top-left-radius: 5px;border-top-right-radius: 5px;
                            border-style: solid;
                            border-color: rgb(50, 50, 50);
                            border-bottom-width: 1px;""")

        self.titleBarArea.setMinimumHeight(30)
        self.titleBarArea.setMaximumHeight(30)

        self.title = Label('Lib Manager')

        self.toolBox = QFrame()
        self.toolBox.setStyleSheet("""
                        border : none; background-color : rgb(120,120,120);
                        border-top-left-radius: 0px;border-top-right-radius: 0px;
                        border-bottom-left-radius: 5px;border-bottom-right-radius: 5px;"""
                                   )
        self.toolBoxLayout = QHBoxLayout()
        self.toolBoxLayout.setContentsMargins(12, 0, 4, 0)
        self.toolBox.setLayout(self.toolBoxLayout)

        self.btn_add_asset = PushButton(icon=icon_path("ICON_ZOOMIN"),
                                        size=[22, 22])
        self.btn_settings = PushButton(icon=icon_path("ICON_SETTINGS"),
                                       size=[22, 22])

        self.toolBoxLayout.addWidget(self.btn_add_asset)
        self.toolBoxLayout.addWidget(self.btn_settings)

        self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Expanding,
                                            QSizePolicy.Minimum)
        self.hSpacer = QSpacerItem(30, 20, QSizePolicy.Maximum,
                                   QSizePolicy.Minimum)

        self.btn_minimize = PushButton(icon=icon_path("ICON_MINIMIZE"),
                                       size=[22, 22])
        self.btn_minimize.clicked.connect(self.showSmall)

        self.btn_maximize = PushButton(icon=icon_path("ICON_MAXIMIZE"),
                                       size=[22, 22])
        self.btn_maximize.clicked.connect(self.showMaxRestore)

        self.btn_close = PushButton(icon=icon_path("ICON_CLOSE"),
                                    size=[22, 22])
        self.btn_close.clicked.connect(self.close)

        self.titleBarLayout.addWidget(self.area)
        self.titleBarLayout.addWidget(self.title)
        self.titleBarLayout.addItem(self.horizontalSpacer)
        self.titleBarLayout.addWidget(self.toolBox)
        self.titleBarLayout.addItem(self.hSpacer)
        self.titleBarLayout.addWidget(self.btn_minimize)
        self.titleBarLayout.addWidget(self.btn_maximize)
        self.titleBarLayout.addWidget(self.btn_close)

        self.titleBarArea.setLayout(self.titleBarLayout)

        self.middleLayout = QHBoxLayout()

        self.handleList = [self.titleBarArea]
        #Left Bar
        self.leftBarLayout = QVBoxLayout()
        self.leftHandle = QFrame()
        self.leftHandle.setStyleSheet(
            "border : none; background-color : rgb(110,110,110);")
        self.leftHandle.setMaximumWidth(5)
        self.leftHandle.setMinimumWidth(5)
        self.leftHandle.setCursor(Qt.SizeHorCursor)

        self.leftBottomHandle = QFrame()
        self.leftBottomHandle.setStyleSheet(
            "border : none; background-color : rgb(110,110,110);")
        self.leftBottomHandle.setMaximumSize(5, 16)
        self.leftBottomHandle.setCursor(Qt.SizeBDiagCursor)

        #Add handle to a list
        self.handleList += [self.leftHandle, self.leftBottomHandle]

        self.leftBarLayout.addWidget(self.leftHandle)
        self.leftBarLayout.addWidget(self.leftBottomHandle)

        #Content
        #self.content = QFrame()
        self.contentLayout = QVBoxLayout()
        self.contentLayout.setContentsMargins(0, 0, 0, 0)
        self.contentLayout.setSpacing(0)
        #self.content.setLayout(self.contentLayout)

        #Right Bar
        self.rightBarLayout = QVBoxLayout()
        self.rightHandle = QFrame()
        self.rightHandle.setStyleSheet(
            "border : none; background-color : rgb(110,110,110);")
        self.rightHandle.setMaximumWidth(5)
        self.rightHandle.setMinimumWidth(5)
        self.rightHandle.setCursor(Qt.SizeHorCursor)

        self.rightBottomHandle = QFrame()
        self.rightBottomHandle.setStyleSheet(
            "border : none; background-color : rgb(110,110,110);")
        self.rightBottomHandle.setMaximumSize(5, 16)
        self.rightBottomHandle.setCursor(Qt.SizeFDiagCursor)

        self.rightBarLayout.addWidget(self.rightHandle)
        self.rightBarLayout.addWidget(self.rightBottomHandle)

        #Add handle to a list
        self.handleList += [self.rightHandle, self.rightBottomHandle]

        self.middleLayout.addLayout(self.leftBarLayout)
        self.middleLayout.addLayout(self.contentLayout)
        self.middleLayout.addLayout(self.rightBarLayout)

        self.bottomLayout = QHBoxLayout()

        self.bottomLeftHandle = QFrame()
        self.bottomLeftHandle.setStyleSheet(
            "border : none; background-color : rgb(110,110,110);")
        self.bottomLeftHandle.setMaximumSize(16, 5)
        self.bottomLeftHandle.setCursor(Qt.SizeBDiagCursor)

        self.bottomHandle = QFrame()
        self.bottomHandle.setStyleSheet(
            "border : none; background-color : rgb(110,110,110);")
        self.bottomHandle.setMaximumHeight(5)
        self.bottomHandle.setMinimumHeight(5)
        self.bottomHandle.setCursor(Qt.SizeVerCursor)

        self.bottomRightHandle = QFrame()
        self.bottomRightHandle.setStyleSheet(
            "border : none; background-color : rgb(110,110,110);")
        self.bottomRightHandle.setMaximumSize(16, 5)
        self.bottomRightHandle.setCursor(Qt.SizeFDiagCursor)

        self.bottomLayout.addWidget(self.bottomLeftHandle)
        self.bottomLayout.addWidget(self.bottomHandle)
        self.bottomLayout.addWidget(self.bottomRightHandle)

        #Add handle to a list
        self.handleList += [
            self.bottomHandle, self.bottomLeftHandle, self.bottomRightHandle
        ]

        self.lowLayout = QVBoxLayout()
        self.lowLayout.addLayout(self.middleLayout)
        self.lowLayout.addLayout(self.bottomLayout)

        self.mainLayout.addWidget(self.titleBarArea)
        self.mainLayout.addLayout(self.lowLayout)

        ##Shadow
        self.shadow = QGraphicsDropShadowEffect()
        self.shadow.setColor(QColor(50, 50, 50, 200))
        self.shadow.setXOffset(5)
        self.shadow.setYOffset(5)
        self.shadow.setBlurRadius(8)
        self.setGraphicsEffect(self.shadow)
        #self.shadow.setEnabled(False)

        self.setLayout(self.mainLayout)

    def setContent(self, content):
        self.contentLayout.addWidget(content)

    def showSmall(self):
        self.showMinimized()

    def showMaxRestore(self):
        if (self.maxNormal):
            self.showNormal()
            self.maxNormal = False
            self.btn_maximize.setIcon(QIcon(icon_path("ICON_MAXIMIZE")))

        else:
            self.showMaximized()
            self.maxNormal = True
            self.btn_maximize.setIcon(QIcon(icon_path("ICON_MAXIMIZE_2")))

    def mousePressEvent(self, event):
        if event.button() == Qt.LeftButton and QApplication.widgetAt(
                event.globalPos()) in self.handleList:
            #print(QApplication.widgetAt(event.globalPos()))
            self.moving = True
            self.pos_x = event.pos().x()
            self.pos_y = event.pos().y()
            self.pos = event.pos()

    def mouseMoveEvent(self, event):

        x_offset = event.pos().x() - self.pos_x
        y_offset = event.pos().y() - self.pos_y

        if self.moving:
            if self.rightHandle.underMouse():
                self.resize(self.frameGeometry().width() + x_offset,
                            self.frameGeometry().height())
                self.pos_x += x_offset

            if self.leftHandle.underMouse():
                self.move(event.globalPos().x() - self.pos_x,
                          self.frameGeometry().y())
                self.resize(self.frameGeometry().width() - x_offset,
                            self.frameGeometry().height())

            if self.bottomHandle.underMouse():
                self.resize(self.frameGeometry().width(),
                            self.frameGeometry().height() + y_offset)
                self.pos_y += y_offset

            if self.titleBarArea.underMouse():
                self.move(event.globalPos() - self.pos)

            if self.rightBottomHandle.underMouse(
            ) or self.bottomRightHandle.underMouse():
                self.resize(self.frameGeometry().width() + x_offset,
                            self.frameGeometry().height() + y_offset)
                self.pos_x += x_offset
                self.pos_y += y_offset

            if self.leftBottomHandle.underMouse(
            ) or self.bottomLeftHandle.underMouse():
                self.move(event.globalPos().x() - self.pos_x,
                          self.frameGeometry().y())
                self.resize(self.frameGeometry().width() - x_offset,
                            self.frameGeometry().height() + y_offset)
                #self.pos_x += x_offset
                self.pos_y += y_offset

    def close(self):
        self.closed = True
        self.deleteLater()
Esempio n. 3
0
class QLevelViewer(QWidget):
    onLevelClicked = pyqtSignal()

    def __init__(self,
                 model: GameControllerModel,
                 level_num=0,
                 level_name=None,
                 parent=QWidget):
        super(QWidget, self).__init__()
        self.model = model
        self.lblNumber = QLabel()
        self.lblName = QLabel()
        self.frame = QFrame()
        self.level_name = level_name
        self.level_num = level_num
        self._setupUI()
        self.changeLevel(level_num, level_name)
        self.isClickable = False
        self.setClickable(self.isClickable)

    def _getColorByLevel(self, level_name: str):
        if level_name == "intro":
            return (247, 181, 41)
        elif level_name == "normal":
            return (23, 107, 239)
        elif level_name == "heal":
            return (23, 156, 82)
        elif level_name == "boss":
            return (255, 62, 48)
        elif level_name == "final_boss":
            return (127, 0, 0)
        else:
            return (255, 255, 255)

    def _changeLevelColor(self):
        level_color = self._getColorByLevel(self.level_name)
        self.frame.setStyleSheet(
            "background-color: rgb({}, {}, {}); border-radius: 5px;".format(
                level_color[0], level_color[1], level_color[2]))

    def changeLevel(self, newlevel: int, level_name=None):
        self.level_num = newlevel
        if level_name is not None:
            self.level_name = level_name
        else:
            for i, v in self.model.getLevelsNames().items():
                if i == newlevel:
                    self.level_name = v
                    break
        self.lblName.setText(self.level_name)
        self.lblNumber.setText(str(newlevel))
        self._changeLevelColor()

    def onSelfClicked(self, event):
        self.onLevelClicked.emit()

    def setClickable(self, isClickable: bool):
        self.isClickable = isClickable
        self.updateClickableUi(self.isClickable)

    def updateClickableUi(self, can_click):
        self.lblNumber.blockSignals(not can_click)
        self.lblName.blockSignals(not can_click)
        self.frame.blockSignals(not can_click)
        if can_click:
            self.lblNumber.setCursor(QCursor(QtCore.Qt.PointingHandCursor))
            self.lblName.setCursor(QCursor(QtCore.Qt.PointingHandCursor))
            self.frame.setCursor(QCursor(QtCore.Qt.PointingHandCursor))
        else:
            self.lblNumber.setCursor(QCursor(QtCore.Qt.ArrowCursor))
            self.lblName.setCursor(QCursor(QtCore.Qt.ArrowCursor))
            self.frame.setCursor(QCursor(QtCore.Qt.ArrowCursor))

    def _setupUI(self):
        self.frame.setAttribute(QtCore.Qt.WA_StyledBackground, True)
        self.frame.setFixedSize(80, 80)
        self.frame.setGeometry(0, 0, 0, 0)
        self.frame.mousePressEvent = self.onSelfClicked
        font = QtGui.QFont()
        font.setPointSize(15)
        self.lblNumber.setFont(font)
        self.lblNumber.setAlignment(Qt.AlignCenter)
        self.lblNumber.mousePressEvent = self.onSelfClicked
        font_name = QtGui.QFont()
        font_name.setPointSize(15)
        self.lblName.setFont(font_name)
        self.lblName.setAlignment(QtCore.Qt.AlignCenter)
        self.lblName.mousePressEvent = self.onSelfClicked

        frame_lay = QVBoxLayout()
        frame_lay.addWidget(self.lblNumber)
        frame_lay.addWidget(self.lblName)
        self.frame.setLayout(frame_lay)
        fram_lay = QHBoxLayout()
        fram_lay.addWidget(self.frame)
        self.setLayout(fram_lay)

        self.model.engineStatechanged.connect(self.onPlayStateChanged)

    def onPlayStateChanged(self, newState: EngineState):
        self.updateClickableUi(self.isClickable
                               and (not newState == EngineState.Playing))
Esempio n. 4
0
    def create_box(self,
                   containers: QFrame,
                   frame_gridLayout: QGridLayout,
                   start_index: int = 0,
                   plugins=None,
                   box_type: bool = True):
        """this method for create primitive box

        Arguments:
            containers {QFrame} -- [parent layout]
            count_box {int} -- [count for create]

        Keyword Arguments:
            title {str} -- [title in box] (default: {""})
            image {str} -- [image in box] (default: {None})
            box_type {box type color type star box ...} -- [description] (default: {True})
            start_location {int} -- [ create box in location] (default: {30})
        """

        box_enumerate = 0
        for box_enumerate in range(0, len(plugins)):
            frame_border = QFrame(containers)
            frame_border.setCursor(QCursor(Qt.PointingHandCursor))
            frame_border.setMaximumSize(138, 138)
            frame_border.setMinimumSize(138, 138)
            if box_type:
                frame_border.setObjectName(
                    BoxStyles.frame_border_style_type1[0])
                frame_border.setStyleSheet(
                    BoxStyles.frame_border_style_type1[1])
            else:
                frame_border.setObjectName(
                    BoxStyles.frame_border_style_type2[0])
                frame_border.setStyleSheet(
                    BoxStyles.frame_border_style_type2[1])

            frame_border.setFrameShape(QFrame.StyledPanel)
            frame_border.setFrameShadow(QFrame.Raised)

            frame_border_vlayout = QVBoxLayout(frame_border)
            frame_border_vlayout.setContentsMargins(3, 3, 3, 3)
            frame_border_vlayout.setObjectName("frame_border_vlayout")

            box = QFrame(frame_border)
            box.setGeometry(QRect(3, 3, 133, 133))
            box.setCursor(QCursor(Qt.PointingHandCursor))
            box.setObjectName(BoxStyles.box_style[0])
            box.setStyleSheet(BoxStyles.box_style[1])
            box.setFrameShape(QFrame.StyledPanel)
            box.setFrameShadow(QFrame.Raised)

            box.mouseReleaseEvent = (
                lambda x: plugins[box_enumerate][0].execute_app())

            box_vlayout = QVBoxLayout(box)
            box_vlayout.setContentsMargins(-1, 40, -1, -1)
            box_vlayout.setObjectName("box_vlayout")

            image: str = plugins[box_enumerate][1]

            if image is not None:
                picture = QLabel(box)
                picture.setGeometry(QRect(0, 40, 131, 51))
                picture.setObjectName(BoxStyles.picture_style[0])
                picture.setStyleSheet(BoxStyles.picture_style[1])
                picture.setPixmap(QPixmap(image))
                picture.setAlignment(Qt.AlignCenter)

            lbl_title = QLabel(box)
            lbl_title.setGeometry(QRect(0, 100, 133, 20))
            lbl_title.setObjectName(BoxStyles.lbl_title_style[0])
            lbl_title.setStyleSheet(BoxStyles.lbl_title_style[1])
            lbl_title.setAlignment(Qt.AlignCenter)
            lbl_title.setText(plugins[box_enumerate][2])

            frame_gridLayout.addWidget(frame_border, 0,
                                       (box_enumerate + start_index),
                                       Qt.AlignLeft)

        return int(box_enumerate + 1)
Esempio n. 5
0
class RSTPlayer(QMainWindow):
    def __init__(self, master=None):
        QMainWindow.__init__(self, master)
        self.setWindowTitle("RSTP Real-Time Streaming Screen")

        self.instance = VLC.Instance()
        self.mediaplayer = self.instance.media_player_new()

        self.RSTPgui()
        self.isPaused = False

    def RSTPgui(self):
        """
        Kullanıcı arayüz yapılandırması-RSTPlayer ve sinyal/slot
        """
        self.RSTPlayer_widget = QtWidgets.QWidget(self)
        self.setCentralWidget(self.RSTPlayer_widget)
        self.setWindowTitle("Stream")

        self.videoframe = QFrame(
        )  #videoframe oluşturduk widget içine alacaz sonra
        self.palette = self.videoframe.palette()
        self.palette.setColor(QPalette.Window, QColor(0, 0, 0))
        self.videoframe.setPalette(self.palette)
        self.videoframe.setAutoFillBackground(True)
        self.videoframe.setCursor(QtGui.QCursor(QtCore.Qt.CrossCursor))

        self.hbuttonbox = QHBoxLayout(self)  #butonlar oluşturuyoruz
        self.streambutton = QPushButton("Launch Stream")  #
        self.hbuttonbox.addWidget(self.streambutton)  #
        self.streambutton.clicked.connect(self.Stream)  #

        self.stopbutton = QPushButton("Stop")  #
        self.hbuttonbox.addWidget(self.stopbutton)  #
        self.stopbutton.clicked.connect(self.Stop)  #

        self.vboxlayout = QVBoxLayout(self)  #Ana pencereye yerleştirmek için
        #vboxlayout tanımladık ve sonra kullandık
        self.vboxlayout.addWidget(
            self.videoframe)  #VideoFrame ana pencereye eklendi
        self.vboxlayout.addLayout(
            self.hbuttonbox)  #hbuttonbox ana pencereye eklendi
        #vboxlayout içine koyduk şimdi bunları RSTPlayer_widget'a
        self.RSTPlayer_widget.setLayout(
            self.vboxlayout
        )  #dikkat en son rstpwidget a ekledi,RSTPlayer_widget ayarlandı
        #yani enson çuvala koyduk

        self.resize(640, 480)
        self.show()

    def Stream(self, streambutton):
        """
        play/pause geçiş yapılandırması
        """
        if self.mediaplayer.is_playing():
            self.mediaplayer.pause()
            self.streambutton.setText("Live")
            self.isPaused = True

        else:
            if self.mediaplayer.play() == -1:
                self.OpenFile()
                return
            self.mediaplayer.play()
            self.streambutton.setText("Pause")
            self.isPaused = False

    def Stop(self):  #stop yapılandırması
        self.mediaplayer.stop()
        self.streambutton.setText("BROADCASTING")

    def OpenFile(self, filename=None):
        """
        Yürütülen media yapılandırması
        """
        if filename is None:
            filename = QFileDialog.getOpenFileName(self, "Dosya Seç",
                                                   os.path.expanduser('~'))[0]
        if not filename:
            return

        # media oluşturuyoruz
        if sys.version < '3':
            filename = unicode(filename)
        self.media = self.instance.media_new(filename)
        # MediaPlayer içine koyalım
        self.mediaplayer.set_media(self.media)

        # Dosyamızın metadata verilerini ayrıştıyoruz
        self.media.parse()
        """
            MediaPlayer QFrame ye bağlı olması gerekiyor:
            Bu durum OS tipine göre değişkenlik göstereceğinden;
            ilgili komutları oluşturuyoruz:)
            Bu olmazsa player katmanı ana pencerede olmuyor:( *5 satır*
        """
        if sys.platform.startswith('linux'):  # for Linux using the X Server
            self.mediaplayer.set_xwindow(self.videoframe.winId())
        elif sys.platform == "win32":  # for Windows
            self.mediaplayer.set_hwnd(self.videoframe.winId())
        self.Stream()
Esempio n. 6
0
class obeeUi(QMainWindow):

    def __init__(self, master=None):
            QMainWindow.__init__(self, master)
            self.setWindowTitle("OBEE Control Center")

            # creating a basic vlc instance
            self.instance = VLC.Instance()
            # creating an empty vlc media player
            self.mediaplayer = self.instance.media_player_new()

            self.MainUi()
            ##self.MapLayer()
            self.temelmenubar()
            self.isPaused = False
            self.openQ()


    def MainUi(self):
        """
        Kullanıcı arayüz yapılandırması-sinyal/slot
        """
        #_translate = QtCore.QCoreApplication.translate
        self.Main_widget = QtWidgets.QWidget(self)
        self.palette = self.Main_widget.palette()
        self.palette.setColor (QPalette.Window,QColor(193,193,193))
        self.Main_widget.setPalette(self.palette)
        self.Main_widget.setAutoFillBackground(True)

        self.setObjectName("Main_widget")
        self.setCentralWidget(self.Main_widget)
        self.setWindowTitle("obee")

        #LOGO yu buraya koyduk
        self.label_logo = QtWidgets.QLabel(self.Main_widget)
        self.label_logo.setGeometry(QtCore.QRect(950, 600, 261, 91))
        self.label_logo.setText("")
        self.label_logo.setPixmap(QtGui.QPixmap("obee-logo.png"))
        self.label_logo.setObjectName("label_logo")
        self.label_logo.setCursor(QtGui.QCursor(QtCore.Qt.BlankCursor))
        self.label_logo.setMouseTracking(True)

        #1.KISIM-RSTPlayer
        self.videoframe = QFrame(self.Main_widget)
        self.videoframe.setGeometry(QtCore.QRect(0, 0, 900, 600))
        self.palette = self.videoframe.palette()
        self.palette.setColor (QPalette.Window,QColor(0,0,0))
        self.videoframe.setPalette(self.palette)
        self.videoframe.setAutoFillBackground(True)

        self.RSTPbutton = QPushButton(self.Main_widget)#1.BUTON
        self.RSTPbutton.setGeometry(QtCore.QRect(0, 600, 50, 50))
        self.RSTPbutton.setText("RSTP")
        self.palette = self.RSTPbutton.palette()
        self.palette.setColor (QPalette.Window,QColor(0,0,0))
        self.RSTPbutton.setPalette(self.palette)
        self.RSTPbutton.setAutoFillBackground(True)
        self.RSTPbutton.clicked.connect(self.Stream)
        self.RSTbutton = QPushButton(self.Main_widget)#2.BUTON
        self.RSTbutton.setGeometry(QtCore.QRect(50, 600, 50, 50))
        self.RSTbutton.setText("X")
        self.palette = self.RSTbutton.palette()
        self.palette.setColor (QPalette.Window,QColor(255,255,255))
        self.RSTbutton.setPalette(self.palette)
        self.RSTbutton.setAutoFillBackground(True)
        self.RSbutton = QPushButton(self.Main_widget)#3.BUTON
        self.RSbutton.setGeometry(QtCore.QRect(0, 650, 50, 50))
        self.RSbutton.setText("Y")
        self.palette = self.RSTPbutton.palette()
        self.palette.setColor (QPalette.Window,QColor(255,255,255))
        self.RSbutton.setPalette(self.palette)
        self.RSbutton.setAutoFillBackground(True)
        self.Rbutton = QPushButton(self.Main_widget)#4.BUTON
        self.Rbutton.setGeometry(QtCore.QRect(50, 650, 50, 50))
        self.Rbutton.setText("Z")
        self.palette = self.RSTPbutton.palette()
        self.palette.setColor (QPalette.Window,QColor(255,255,255))
        self.Rbutton.setPalette(self.palette)
        self.Rbutton.setAutoFillBackground(True)#---
        self.f1button = QtWidgets.QPushButton(self.Main_widget)#1.BUTON
        self.f1button.setGeometry(QtCore.QRect(800, 600, 50, 50))
        self.f1button.setText("F1")
        self.f2button = QtWidgets.QPushButton(self.Main_widget)#2.BUTON
        self.f2button.setGeometry(QtCore.QRect(850, 600, 50, 50))
        self.f2button.setText("F2")
        self.f3button = QPushButton(self.Main_widget)#3.BUTON
        self.f3button.setGeometry(QtCore.QRect(800, 650, 50, 50))
        self.f3button.setText("F3")
        self.f4button = QPushButton(self.Main_widget)#4.BUTON
        self.f4button.setGeometry(QtCore.QRect(850, 650, 50, 50))
        self.f4button.setText("F4")

        self.f1button.clicked.connect(self.openQ)
        self.f2button.clicked.connect(self.fopenpre)
        #self.f3button.clicked.connect(self.fopendbupdate)
        self.f4button.clicked.connect(self.fopenhelp)

        #---info function button label---
        self.label_f1 = QtWidgets.QLabel(self.Main_widget)
        self.label_f1.setGeometry(QtCore.QRect(600, 585, 200, 50))
        self.label_f1.setText("*(F1)Quick Access Screen")
        self.label_f2 = QtWidgets.QLabel(self.Main_widget)
        self.label_f2.setGeometry(QtCore.QRect(600, 605, 200, 50))
        self.label_f2.setText("*(F2)Pre-paration DB")
        self.label_f3 = QtWidgets.QLabel(self.Main_widget)
        self.label_f3.setGeometry(QtCore.QRect(600, 625, 200, 50))
        self.label_f3.setText("*(F3)Database Update")
        self.label_f4 = QtWidgets.QLabel(self.Main_widget)
        self.label_f4.setGeometry(QtCore.QRect(600, 645, 200, 50))
        self.label_f4.setText("*(F4)-Help?")

        #2.KISIM-Map
        self.mapFrame = QFrame(self.Main_widget)
        self.mapFrame.setGeometry(QtCore.QRect(900, 0, 350, 450))
        self.palette = self.mapFrame.palette()
        self.palette.setColor (QPalette.Window,QColor(0,220,0))
        self.mapFrame.setPalette(self.palette)
        self.mapFrame.setAutoFillBackground(True)
        self.mapFrame.setCursor(QtGui.QCursor(QtCore.Qt.CrossCursor))
        self.label = QtWidgets.QLabel(self.mapFrame)
        self.label.setGeometry(QtCore.QRect(100, 20, 250, 21))
        palette = QtGui.QPalette()
        brush = QtGui.QBrush(QtGui.QColor(85, 87, 83))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.WindowText, brush)
        brush = QtGui.QBrush(QtGui.QColor(85, 87, 83))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.WindowText, brush)
        brush = QtGui.QBrush(QtGui.QColor(190, 190, 190))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.WindowText, brush)
        self.label.setPalette(palette)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.label.setFont(font)
        self.label.setObjectName("label")
        self.label.setText("BETA***")

        self.mapbutton = QPushButton(self.Main_widget)#1.BUTON
        self.mapbutton.setGeometry(QtCore.QRect(1250, 400, 50, 50))
        self.mapbutton.setText("MAP")
        self.mapbutton.setPalette(self.palette)
        self.mapbutton.clicked.connect(self.viewhtml)


        #3.KISIM-EVENTS
        self.eventFrame = QFrame(self.Main_widget)
        self.eventFrame.setGeometry(QtCore.QRect(900, 450, 350, 150))
        self.palette = self.mapFrame.palette()
        self.palette.setColor (QPalette.Window,QColor(220,0,0))
        self.eventFrame.setPalette(self.palette)
        self.eventFrame.setAutoFillBackground(True)

        self.events_textBrowser = QtWidgets.QTextBrowser(self.Main_widget)
        self.events_textBrowser.setGeometry(QtCore.QRect(910, 460, 330, 130))
        palette = QtGui.QPalette()
        brush = QtGui.QBrush(QtGui.QColor(136, 138, 133))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(136, 138, 133))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(239, 235, 231))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush)
        self.events_textBrowser.setPalette(palette)


        self.eventbutton = QPushButton(self.Main_widget)#1.BUTON
        self.eventbutton.setGeometry(QtCore.QRect(1250, 450, 50, 50))
        self.eventbutton.setText("EVENT")
        self.eventbutton.setPalette(self.palette)
        self.eventbutton.clicked.connect(self.Event)


        self.resize(1300, 900)
        self.show()


    def openQ(self):#yeni komut istemi
        if sys.platform == "linux": # for Linux
            os.system("gnome-terminal -e 'python3 startquick_basic.py'")
        elif sys.platform == "win32": # for Windows
            os.system("start cmd /c 'python3 startquick_basic.py'")

    def fopenpre(self):
        import sqlite3
        # SQLite DB Name
        DB_Name =  "dbMQTT.db"

        # SQLite DB Table Schema
        TableSchema="""
        drop table if exists Weather_Data ;
        create table weather (
          _id_ integer primary key autoincrement,
          ID text,
          Date_n_Time text,
          weather_value text
        );


        drop table if exists Sensor_Data ;
        create table sensor (
          _id_ integer primary key autoincrement,
          ID text,
          Date_n_Time text,
          Sensor_value text
        );


        drop table if exists Location_Data ;
        create table location (
          loc text
        );
        """

        #Connect or Create DB File
        conn = sqlite3.connect(DB_Name)
        curs = conn.cursor()

        #Create Tables
        sqlite3.complete_statement(TableSchema)
        curs.executescript(TableSchema)

        #Close DB
        curs.close()
        conn.close()

        QMessageBox.about(self.Main_widget, str("Complete"), str("Database created//but(for error) you should delete or replace old database file"))

    def fopenhelp(self):
        """import webbrowser
        self.pre..()
        webbrowser.open('help.html')"""

    def MQTTlayersetupUi(self):
        self.MQTTsetup = QtWidgets.QWidget(self)
        self.setCentralWidget(self.MQTTsetup)
        self.MQTTsetup.setObjectName("MQTTsetup")
        #Objeleri yerleştirelim
        ###1.KISIM###
        self.groupBox = QtWidgets.QGroupBox(self.MQTTsetup)
        self.palette = self.groupBox.palette()
        self.palette.setColor (QPalette.Window,QColor(143,143,143))
        self.groupBox.setPalette(self.palette)
        self.groupBox.setAutoFillBackground(True)
        self.groupBox.setGeometry(QtCore.QRect(10, 10, 511, 71))
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.groupBox.setFont(font)
        self.groupBox.setObjectName("groupBox")

        self.label_info = QtWidgets.QLabel(self.groupBox)
        self.label_info.setGeometry(QtCore.QRect(77, 50, 282, 20))
        font = QtGui.QFont()
        font.setPointSize(7)
        font.setItalic(True)
        self.label_info.setFont(font)
        self.label_info.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.label_info.setObjectName("label_info")

        self.verticalLayoutWidget = QtWidgets.QWidget(self.groupBox)
        self.verticalLayoutWidget.setGeometry(QtCore.QRect(430, 10, 81, 61))
        self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout.setObjectName("verticalLayout")
        self.Connect_pushButton = QtWidgets.QPushButton(self.verticalLayoutWidget)
        self.Connect_pushButton.setObjectName("Connect_pushButton")
        self.Connect_pushButton.clicked.connect(self.MQTTclient)
        self.verticalLayout.addWidget(self.Connect_pushButton)
        self.Disconnect_pushButton = QtWidgets.QPushButton(self.verticalLayoutWidget)
        self.Disconnect_pushButton.setObjectName("Disconnect_pushButton")
        #self.Disconnect_pushButton.clicked.connect(self.MQTTstop)
        self.verticalLayout.addWidget(self.Disconnect_pushButton)
        self.formLayoutWidget = QtWidgets.QWidget(self.groupBox)
        self.formLayoutWidget.setGeometry(QtCore.QRect(0, 20, 261, 22))
        self.formLayoutWidget.setObjectName("formLayoutWidget")
        self.formLayout_host = QtWidgets.QFormLayout(self.formLayoutWidget)
        self.formLayout_host.setContentsMargins(0, 0, 0, 0)
        self.formLayout_host.setObjectName("formLayout_host")
        self.connectionsetup_host_label = QtWidgets.QLabel(self.formLayoutWidget)
        self.connectionsetup_host_label.setObjectName("connectionsetup_host_label")
        self.formLayout_host.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.connectionsetup_host_label)
        self.Host_linedit = QtWidgets.QLineEdit(self.formLayoutWidget)
        self.Host_linedit.setObjectName("Host_linedit")
        self.formLayout_host.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.Host_linedit)
        self.formLayoutWidget_2 = QtWidgets.QWidget(self.groupBox)
        self.formLayoutWidget_2.setGeometry(QtCore.QRect(270, 20, 141, 21))
        self.formLayoutWidget_2.setObjectName("formLayoutWidget_2")
        self.formLayout_port = QtWidgets.QFormLayout(self.formLayoutWidget_2)
        self.formLayout_port.setContentsMargins(0, 0, 0, 0)
        self.formLayout_port.setObjectName("formLayout_port")
        self.Port_linedit = QtWidgets.QLineEdit(self.formLayoutWidget_2)
        self.Port_linedit.setObjectName("Port_linedit")
        self.formLayout_port.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.Port_linedit)
        self.connectionsetup_port_label = QtWidgets.QLabel(self.formLayoutWidget_2)
        self.connectionsetup_port_label.setObjectName("connectionsetup_port_label")
        self.formLayout_port.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.connectionsetup_port_label)
        ###2.KISIM###
        self.tabWidget = QtWidgets.QTabWidget(self.MQTTsetup)
        self.tabWidget.setGeometry(QtCore.QRect(10, 100, 241, 201))
        self.tabWidget.setObjectName("tabWidget")
        self.tab_sekme_pub = QtWidgets.QWidget()###SEKME Publish
        self.palette = self.tab_sekme_pub.palette()
        self.palette.setColor (QPalette.Window,QColor(0,100,10))
        self.tab_sekme_pub.setPalette(self.palette)
        self.tab_sekme_pub.setAutoFillBackground(True)
        self.tab_sekme_pub.setObjectName("tab_sekme_pub")
        self.publish_linedit = QtWidgets.QLineEdit(self.tab_sekme_pub)
        self.publish_linedit.setEnabled(True)
        self.publish_linedit.setGeometry(QtCore.QRect(10, 10, 191, 20))
        self.publish_linedit.setWhatsThis("")
        self.publish_linedit.setAccessibleDescription("")
        self.publish_linedit.setInputMask("")
        self.publish_linedit.setClearButtonEnabled(False)
        self.publish_linedit.setObjectName("publish_linedit")
        self.listWidget = QtWidgets.QListWidget(self.tab_sekme_pub)
        self.listWidget.setGeometry(QtCore.QRect(10, 40, 121, 121))
        self.listWidget.setObjectName("listWidget")
        item = QtWidgets.QListWidgetItem()
        self.listWidget.addItem(item)
        item = QtWidgets.QListWidgetItem()
        self.listWidget.addItem(item)
        item = QtWidgets.QListWidgetItem()
        self.listWidget.addItem(item)
        self.formLayoutWidget_3 = QtWidgets.QWidget(self.tab_sekme_pub)
        self.formLayoutWidget_3.setGeometry(QtCore.QRect(130, 40, 83, 61))
        self.formLayoutWidget_3.setObjectName("formLayoutWidget_3")
        self.formLayout_pub = QtWidgets.QFormLayout(self.formLayoutWidget_3)
        self.formLayout_pub.setContentsMargins(0, 0, 0, 0)
        self.formLayout_pub.setObjectName("formLayout_pub")
        self.publish_add_pushButton = QtWidgets.QPushButton(self.formLayoutWidget_3)
        self.publish_add_pushButton.setObjectName("publish_add_pushButton")
        self.formLayout_pub.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.publish_add_pushButton)
        self.publish_remove_pushButton = QtWidgets.QPushButton(self.formLayoutWidget_3)
        self.publish_remove_pushButton.setObjectName("publish_remove_pushButton")
        self.formLayout_pub.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.publish_remove_pushButton)
        self.tabWidget.addTab(self.tab_sekme_pub, "")
        self.tab_sekme_sub = QtWidgets.QWidget()###SEKME Subscribe#yerdeğisti!!!pub-*sub-düzenlenmedi
        self.palette = self.tab_sekme_sub.palette()
        self.palette.setColor (QPalette.Window,QColor(0,10,110))
        self.tab_sekme_sub.setPalette(self.palette)
        self.tab_sekme_sub.setAutoFillBackground(True)
        self.tab_sekme_sub.setObjectName("tab_sekme_sub")
        self.subscribe_linedit = QtWidgets.QLineEdit(self.tab_sekme_sub)
        self.subscribe_linedit.setGeometry(QtCore.QRect(10, 10, 191, 20))
        self.subscribe_linedit.setObjectName("subscribe_linedit")
        self.formLayoutWidget_4 = QtWidgets.QWidget(self.tab_sekme_sub)
        self.formLayoutWidget_4.setGeometry(QtCore.QRect(130, 40, 83, 61))
        self.formLayoutWidget_4.setObjectName("formLayoutWidget_4")
        self.formLayout_sub = QtWidgets.QFormLayout(self.formLayoutWidget_4)
        self.formLayout_sub.setContentsMargins(0, 0, 0, 0)
        self.formLayout_sub.setObjectName("formLayout_sub")
        self.subscribe_add_pushButton = QtWidgets.QPushButton(self.formLayoutWidget_4)
        self.subscribe_add_pushButton.setObjectName("subscribe_add_pushButton")
        self.formLayout_sub.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.subscribe_add_pushButton)
        self.subscribe_remove_pushButton = QtWidgets.QPushButton(self.formLayoutWidget_4)
        self.subscribe_remove_pushButton.setObjectName("subscribe_remove_pushButton")
        self.formLayout_sub.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.subscribe_remove_pushButton)
        self.listWidget_2 = QtWidgets.QListWidget(self.tab_sekme_sub)
        self.listWidget_2.setGeometry(QtCore.QRect(10, 40, 121, 121))
        self.listWidget_2.setObjectName("listWidget_2")
        item = QtWidgets.QListWidgetItem()
        self.listWidget_2.addItem(item)
        item = QtWidgets.QListWidgetItem()
        self.listWidget_2.addItem(item)
        #self.tabWidget.addTab(self.tab_sekme_sub, "")  ----Sekme pasif

        ###3.KISIM###
        self.groupBox_events = QtWidgets.QGroupBox(self.MQTTsetup)
        self.groupBox_events.setGeometry(QtCore.QRect(280, 110, 240, 190))
        self.groupBox_events.setObjectName("groupBox_events")
        self.palette = self.groupBox_events.palette()
        self.palette.setColor (QPalette.Window,QColor(222,0,0))
        self.groupBox_events.setPalette(self.palette)
        self.groupBox_events.setAutoFillBackground(True)
        self.events_textBrowser = QtWidgets.QTextBrowser(self.groupBox_events)
        self.events_textBrowser.setGeometry(QtCore.QRect(10, 20, 220, 160))
        self.events_textBrowser.setObjectName("events_textBrowser")

        self.tabWidget.setCurrentIndex(1)
        QtCore.QMetaObject.connectSlotsByName(self.MQTTsetup)

        _translate = QtCore.QCoreApplication.translate
        self.setWindowTitle(_translate("MQTTsetup", "MQTT Setup"))
        self.groupBox.setTitle(_translate("MQTTsetup", "CONNECTION SETUP"))
        self.label_info.setText(_translate("MQTTsetup","*Only need to press the connect button using the predefined settings*"))
        self.Connect_pushButton.setText(_translate("MQTTsetup", "Connect"))
        self.Disconnect_pushButton.setText(_translate("MQTTsetup", "Disconnect"))
        self.connectionsetup_host_label.setText(_translate("MQTTsetup", "Broker IP"))
        self.connectionsetup_port_label.setText(_translate("MQTTsetup", "PORT"))
        __sortingEnabled = self.listWidget.isSortingEnabled()
        self.listWidget.setSortingEnabled(False)
        item = self.listWidget.item(0)
        item.setText(_translate("MQTTsetup", "sensor"))
        item = self.listWidget.item(1)
        item.setText(_translate("MQTTsetup", "location"))
        item = self.listWidget.item(2)
        item.setText(_translate("MQTTsetup", "weather"))
        self.listWidget.setSortingEnabled(__sortingEnabled)
        self.publish_add_pushButton.setText(_translate("MQTTsetup", "OK"))
        self.publish_remove_pushButton.setText(_translate("MQTTsetup", "Remove"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_sekme_pub), _translate("MQTTsetup", "SUBSCRIBE"))
        self.subscribe_add_pushButton.setText(_translate("MQTTsetup", "OK"))
        self.subscribe_remove_pushButton.setText(_translate("MQTTsetup", "Remove"))
        __sortingEnabled = self.listWidget_2.isSortingEnabled()
        self.listWidget_2.setSortingEnabled(False)
        item = self.listWidget_2.item(0)
        item.setText(_translate("MQTTsetup", "empty0"))
        item = self.listWidget_2.item(1)
        item.setText(_translate("MQTTsetup", "empty1"))
        self.listWidget_2.setSortingEnabled(__sortingEnabled)
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_sekme_sub), _translate("MQTTsetup", "PUBLISH"))
        self.groupBox_events.setTitle(_translate("MQTTsetup", "EVENTS"))

        self.resize(540, 350)
        self.show()

    def MQTTclient(self, MQTTlayersetupUi):
        if sys.platform == "linux": # for Linux
            os.system("gnome-terminal -e 'python3 MQTTgui.py'")
        elif sys.platform == "win32": # for Windows
            os.system("start cmd /c 'python3 MQTTgui.py'")

    def RSTPlayersetupUi(self):
        """
        Kullanıcı arayüz yapılandırması-RSTPlayer ve sinyal/slot
        """
        self.RSTPlayer_widget = QtWidgets.QWidget(self)
        self.setCentralWidget(self.RSTPlayer_widget)
        self.setWindowTitle("Stream")

        self.videoframe = QFrame()          #videoframe oluşturduk widget içine alacaz sonra
        self.palette = self.videoframe.palette()
        self.palette.setColor (QPalette.Window,QColor(0,0,0))
        self.videoframe.setPalette(self.palette)
        self.videoframe.setAutoFillBackground(True)
        self.videoframe.setCursor(QtGui.QCursor(QtCore.Qt.CrossCursor))

        self.hbuttonbox = QHBoxLayout(self)                 #butonlar oluşturuyoruz
        self.streambutton = QPushButton("Launch Stream")  #
        self.hbuttonbox.addWidget(self.streambutton)        #
        self.streambutton.clicked.connect(self.Stream)      #

        self.stopbutton = QPushButton("Stop")               #
        self.hbuttonbox.addWidget(self.stopbutton)          #
        self.stopbutton.clicked.connect(self.Stop)          #

        self.vboxlayout = QVBoxLayout(self)             #Ana pencereye yerleştirmek için
                                                    #vboxlayout tanımladık ve sonra kullandık
        self.vboxlayout.addWidget(self.videoframe)  #VideoFrame ana pencereye eklendi
        self.vboxlayout.addLayout(self.hbuttonbox)  #hbuttonbox ana pencereye eklendi
        #vboxlayout içine koyduk şimdi bunları RSTPlayer_widget'a
        self.RSTPlayer_widget.setLayout(self.vboxlayout)   #dikkat en son rstpwidget a ekledi,RSTPlayer_widget ayarlandı
        #yani enson çuvala koyduk

        self.resize(640, 480)
        self.show()

    def MapLayer(self):
        self.MapLayer_widget = QtWidgets.QWidget(self)
        self.setCentralWidget(self.MapLayer_widget)
        self.setWindowTitle("MAP")

        self.mapFrame = QFrame(self.MapLayer_widget)
        self.mapFrame.setCursor(QtGui.QCursor(QtCore.Qt.CrossCursor))
        self.mapFrame.setGeometry(QtCore.QRect(10, 10, 500, 500))
        self.palette = self.mapFrame.palette()
        self.palette.setColor (QPalette.Window,QColor(0,220,0))
        self.mapFrame.setPalette(self.palette)
        self.mapFrame.setAutoFillBackground(True)
        self.label = QtWidgets.QLabel(self.mapFrame)
        self.label.setGeometry(QtCore.QRect(100, 20, 250, 50))
        palette = QtGui.QPalette()
        brush = QtGui.QBrush(QtGui.QColor(85, 87, 83))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.WindowText, brush)
        brush = QtGui.QBrush(QtGui.QColor(85, 87, 83))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.WindowText, brush)
        brush = QtGui.QBrush(QtGui.QColor(190, 190, 190))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.WindowText, brush)
        self.label.setPalette(palette)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.label.setFont(font)
        self.label.setObjectName("label")
        self.label.setText("BETA***")

        self.MAPbutton = QPushButton(self.MapLayer_widget)#1.BUTON
        self.MAPbutton.setGeometry(QtCore.QRect(250, 510, 50, 50))
        self.MAPbutton.setText("OK")
        self.palette = self.MAPbutton.palette()
        self.palette.setColor (QPalette.Window,QColor(0,220,0))
        self.MAPbutton.setPalette(self.palette)
        self.MAPbutton.setAutoFillBackground(True)
        #self.MAPbutton.clicked.connect(self.)
        self.Xbutton = QPushButton(self.MapLayer_widget)#2.BUTON
        self.Xbutton.setGeometry(QtCore.QRect(200, 510, 50, 50))
        self.Xbutton.setText("X")
        self.palette = self.Xbutton.palette()
        self.palette.setColor (QPalette.Window,QColor(0,220,0))
        self.Xbutton.setPalette(self.palette)
        self.Xbutton.setAutoFillBackground(True)
        self.Ybutton = QPushButton(self.MapLayer_widget)#3.BUTON
        self.Ybutton.setGeometry(QtCore.QRect(250, 560, 50, 50))
        self.Ybutton.setText("Y")
        self.palette = self.Ybutton.palette()
        self.palette.setColor (QPalette.Window,QColor(0,220,0))
        self.Ybutton.setPalette(self.palette)
        self.Ybutton.setAutoFillBackground(True)
        self.Zbutton = QPushButton(self.MapLayer_widget)#4.BUTON
        self.Zbutton.setGeometry(QtCore.QRect(200, 560, 50, 50))
        self.Zbutton.setText("Z")
        self.palette = self.Zbutton.palette()
        self.palette.setColor (QPalette.Window,QColor(0,220,0))
        self.Zbutton.setPalette(self.palette)
        self.Zbutton.setAutoFillBackground(True)#---

        #self.map = QWebView(self)
        #self.openMap = QUrl("http://thomasmansencal.com/Sharing/Others/Google_Maps.html")
		#self.map.load( openMap )
        #self.MapLayer_widget.addWidget( map )

        self.resize(520, 610)
        self.show()

    def premaps(self):
        import sqlite3
        import json
        import codecs

        conn = sqlite3.connect('dbMQTT.db')
        cur = conn.cursor()

        fhand = codecs.open('where.js','w', "utf-8")
        fhand.write("myData = [\n")
        count = 0

        cur.execute('SELECT * FROM location')
        for row in cur :

            loc = str(row[0])#0. sutunu okuduk
            if loc == 0 : continue
            try :
                print(loc)

                count = count + 1
                if count > 1 : fhand.write(",\n")
                output = "["+str(loc)+"]"
                fhand.write(output)
            except:
                continue

        fhand.write("\n];\n")
        cur.close()
        fhand.close()

    def viewhtml(self):
        import webbrowser
        self.premaps()
        webbrowser.open('where.html')

    def temelmenubar(self):
        """
        Ana ekran menü bar yapılandırılması
        """
        setRSTP = QAction("Setup", self)
        setRSTP.triggered.connect(self.Stream)
        onlyRSTP = QAction("View", self)
        onlyRSTP.triggered.connect(self.RSTPlayersetupUi)

        setMQTT = QAction("Setup", self)
        setMQTT.triggered.connect(self.MQTTlayersetupUi)
        #onlyMQTT = QAction("View", self)
        onlyMQTTsub = QAction("Subscribe", self)
        onlyMQTTpub = QAction("", self)


        setMap = QAction("Setup", self)
        setMap.triggered.connect(self.MapLayer)
        onlyMap = QAction("View", self)
        onlyMap.triggered.connect(self.MapLayer)

        home = QAction("Main Page", self)
        home.triggered.connect(self.MainUi)
        exit = QAction("Exit", self)
        exit.triggered.connect(sys.exit)

        version = QAction("v1.1-beta", self)


        OBEEmenubar = self.menuBar()            #Temel menübar oluşturduk
        General = OBEEmenubar.addMenu("General")
        General.addAction(home)
        General.addSeparator()
        General.addAction(exit)

        RSTPlayermenu = OBEEmenubar.addMenu("RSTP")
        aRSTPmenu = RSTPlayermenu.addAction(onlyRSTP)
        bRSTPmenu = RSTPlayermenu.addAction(setRSTP)

        MQTTlayermenu = OBEEmenubar.addMenu("MQTT")
        aMQTTmenu = MQTTlayermenu.addMenu("View")
        bMQTTmenu = MQTTlayermenu.addAction(setMQTT)
        aaMQTTmenu = aMQTTmenu.addAction(onlyMQTTsub)
        abMQTTmenu = aMQTTmenu.addAction(onlyMQTTpub)

        MapLayermenu = OBEEmenubar.addMenu("Map")
        MapLayermenu.addAction(onlyMap)
        MapLayermenu.addAction(setMap)

        About = OBEEmenubar.addMenu("About")
        About.addAction(version)

    def Stream(self, streambutton):
        """
        play/pause geçiş yapılandırması
        """
        if self.mediaplayer.is_playing():
            self.mediaplayer.pause()
            self.streambutton.setText("Live")
            self.isPaused = True

        else:
            if self.mediaplayer.play() == -1:
                self.OpenFile()
                return
            self.mediaplayer.play()
            self.streambutton.setText("Pause")
            self.isPaused = False

    def Stop(self):#stop yapılandırması
        self.mediaplayer.stop()
        self.streambutton.setText("BROADCASTING")

    def OpenFile(self,filename=None):
        """
        Yürütülen media yapılandırması
        """
        if filename is None:
            filename = QFileDialog.getOpenFileName(self, "Dosya Seç", os.path.expanduser('~'))[0]
        if not filename:
            return

        # media oluşturuyoruz
        if sys.version < '3':
            filename = unicode(filename)
        self.media = self.instance.media_new(filename)
        # MediaPlayer içine koyalım
        self.mediaplayer.set_media(self.media)

        # Dosyamızın metadata verilerini ayrıştıyoruz
        self.media.parse()

        """
            MediaPlayer QFrame ye bağlı olması gerekiyor:
            Bu durum OS tipine göre değişkenlik göstereceğinden;
            ilgili komutları oluşturuyoruz:)
            Bu olmazsa player katmanı ana pencerede olmuyor:( *5 satır*
        """
        if sys.platform.startswith('linux'): # for Linux using the X Server
            self.mediaplayer.set_xwindow(self.videoframe.winId())
        elif sys.platform == "win32": # for Windows
            self.mediaplayer.set_hwnd(self.videoframe.winId())
        self.Stream()

    def Event(self):#düzenlenecek
        self.Events_widget = QtWidgets.QWidget(self)
        self.setWindowTitle("Events")

        self.eventsFrame = QFrame(self.Events_widget)
        self.eventsFrame.setGeometry(QtCore.QRect(0, 0, 600, 600))
        self.palette = self.eventFrame.palette()
        self.palette.setColor (QPalette.Window,QColor(0,0,0))
        self.eventsFrame.setPalette(self.palette)
        self.eventsFrame.setAutoFillBackground(True)

        self.eventss_textBrowser = QtWidgets.QTextBrowser(self.Events_widget)
        self.eventss_textBrowser.setGeometry(QtCore.QRect(10, 20, 580, 600))

        self.eventsbutton = QPushButton(self.Events_widget)#1.BUTON
        self.eventsbutton.setGeometry(QtCore.QRect(510, 20, 50, 50))
        self.eventsbutton.setText("Events")
        self.palette = self.eventsbutton.palette()
        self.palette.setColor (QPalette.Window,QColor(220,0,0))
        self.eventsbutton.setPalette(self.palette)
        self.eventsbutton.setAutoFillBackground(True)
        #self.eventbutton.clicked.connect(self.Stream)

        self.resize(600, 700)
        self.show()