def changePasswordForm(check):
    global frame
    global tfOldPassword
    global tfNewPassword
    global tfConfirmPassword
    global value

    value = check

    frame = JFrame("Change Password")
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
    frame.setSize(500, 350)
    frame.setLocation(200, 200)
    frame.setLayout(None)
    frame.setVisible(True)

    panel = JPanel()
    panel.setSize(500, 350)
    panel.setLocation(0, 0)
    panel.setLayout(None)
    panel.setVisible(True)
    panel.setBackground(Color.LIGHT_GRAY)

    heading = JLabel("Change Password")
    heading.setBounds(200, 30, 150, 40)

    lbOldPassword = JLabel("Old Password")
    lbNewPassword = JLabel("New Password")
    lbConfirmPassword = JLabel("Confirm Password")

    tfOldPassword = JTextField()
    tfNewPassword = JTextField()
    tfConfirmPassword = JTextField()

    lbOldPassword.setBounds(50, 100, 150, 30)
    lbNewPassword.setBounds(50, 150, 150, 30)
    lbConfirmPassword.setBounds(50, 200, 150, 30)

    tfOldPassword.setBounds(220, 100, 150, 30)
    tfNewPassword.setBounds(220, 150, 150, 30)
    tfConfirmPassword.setBounds(220, 200, 150, 30)

    btnSave = JButton("Save", actionPerformed=clickSave)
    btnCancel = JButton("Cancel", actionPerformed=clickCancel)

    btnSave.setBounds(350, 280, 100, 30)
    btnCancel.setBounds(50, 280, 100, 30)

    panel.add(heading)
    panel.add(lbOldPassword)
    panel.add(lbNewPassword)
    panel.add(lbConfirmPassword)
    panel.add(tfOldPassword)
    panel.add(tfNewPassword)
    panel.add(tfConfirmPassword)
    panel.add(btnSave)
    panel.add(btnCancel)

    frame.add(panel)
예제 #2
0
def addCourse():
    global tfCourseName
    global tfCourseId
    global tfCourseFee
    global frame
    global btnEnter

    frame = JFrame("Add Course ")
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
    frame.setSize(450, 450)
    frame.setLocation(200, 200)
    frame.setLayout(None)
    frame.setVisible(True)

    panel = JPanel()
    panel.setSize(450, 450)
    panel.setLocation(0, 0)
    panel.setLayout(None)
    panel.setVisible(True)
    panel.setBackground(Color.LIGHT_GRAY)

    heading = JLabel("ADD COURSE")
    heading.setBounds(200, 30, 150, 40)

    lbCourseName = JLabel("Course Name ")
    lbCourseId = JLabel("Course Id")
    lbCourseFee = JLabel(" Course Fee")

    tfCourseName = JTextField()
    tfCourseId = JTextField()
    tfCourseFee = JTextField()

    lbCourseName.setBounds(70, 120, 130, 30)
    lbCourseId.setBounds(70, 170, 130, 30)
    lbCourseFee.setBounds(70, 220, 130, 30)

    tfCourseName.setBounds(220, 120, 150, 30)
    tfCourseId.setBounds(220, 170, 150, 30)
    tfCourseFee.setBounds(220, 220, 150, 30)

    btnEnter = JButton("Enter", actionPerformed=clickAddCourseFee)
    btnEnter.setBounds(300, 300, 100, 40)

    btnCancel = JButton("Cancel", actionPerformed=clickCancel)
    btnCancel.setBounds(70, 300, 100, 40)

    panel.add(heading)
    panel.add(lbCourseName)
    panel.add(lbCourseId)
    panel.add(lbCourseFee)
    panel.add(tfCourseFee)
    panel.add(tfCourseName)
    panel.add(tfCourseId)
    panel.add(tfCourseFee)
    panel.add(btnEnter)
    panel.add(btnCancel)

    frame.add(panel)
예제 #3
0
def studentLogined(stObj):
    global panel
    global table
    global heading
    global frame

    frame = JFrame("Student  Page ")
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
    frame.setSize(500, 600)
    frame.setLocation(200, 200)
    frame.setLayout(None)

    panel = JPanel()
    panel.setSize(500, 580)
    panel.setLocation(0, 20)
    panel.setLayout(None)
    panel.setVisible(True)
    panel.setBackground(Color.WHITE)

    heading = JLabel()
    heading.setBounds(210, 10, 200, 30)

    table = JTable()
    table.setBounds(0, 50, 500, 470)
    sp = JScrollPane(table, ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,
                     ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS)

    bar = JMenuBar()

    profile = JMenu("Profile")
    showProfile = JMenuItem("Show Profile",
                            actionPerformed=clickShowStudentProfile)
    changePassword = JMenuItem("Change Password",
                               actionPerformed=changeStudentPassword)
    profile.add(showProfile)
    profile.add(changePassword)
    bar.add(profile)

    attendence = JMenu("Attendence")
    showAllAttendence = JMenuItem("Show All Attendence",
                                  actionPerformed=clickAllAttendence)
    showAttendenceInMonth = JMenuItem("show attendence in month",
                                      actionPerformed=clickAttendenceInMonth)
    attendence.add(showAllAttendence)
    attendence.add(showAttendenceInMonth)
    bar.add(attendence)

    logout = JMenuItem("logout", actionPerformed=clickLogout)
    bar.add(logout)

    panel.add(table)

    frame.setJMenuBar(bar)
    frame.add(panel)

    frame.setVisible(True)
예제 #4
0
def showLoginIdPassword(data):    
    global frame
    
    frame = JFrame("Show Id  Password ")
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
    frame.setSize(500,350)
    frame.setLocation(200,200)
    frame.setLayout(None)
    frame.setVisible(True)
    
    panel = JPanel()
    panel.setSize(500,350)
    panel.setLocation(0,0)
    panel.setLayout(None)
    panel.setVisible(True)
    panel.setBackground(Color.LIGHT_GRAY)
    
    heading = JLabel("LoginId AND Password")
    heading.setBounds(200,30,150,40)
    
    lbLoginId = JLabel("LoginId")
    lbPassword = JLabel("password")
    
    tfLoginId = JTextField(data[0].encode('ascii'))
    tfPassword = JTextField(data[1].encode('ascii'))
    
    tfLoginId.setEditable(False)
    tfPassword.setEditable(False)
    
    lbLoginId.setBounds(50,100,150,30)
    lbPassword.setBounds(50,150,150,30)
    
    tfLoginId.setBounds(220,100,150,30)
    tfPassword.setBounds(220,150,150,30)
    
    btnOk = JButton("Ok",actionPerformed=clickOk)
    
    btnOk.setBounds(250,220,100,30)
    
    panel.add(heading)
    panel.add(lbLoginId)
    panel.add(lbPassword)
    panel.add(tfLoginId)
    panel.add(tfPassword)
    panel.add(btnOk)
    frame.add(panel)
def getCourseName(check):    
    global frame
    global tfStudentCourseChoice
    global value

    value = check
    
    frame = JFrame("Course Name ")
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
    frame.setSize(500,250)
    frame.setLocation(200,200)
    frame.setLayout(None)
    frame.setVisible(True)
    
    panel = JPanel()
    panel.setSize(500,250)
    panel.setLocation(0,0)
    panel.setLayout(None)
    panel.setVisible(True)
    panel.setBackground(Color.LIGHT_GRAY)
    
    heading = JLabel("Get Course Name")
    heading.setBounds(200,30,150,40)
    
    lbStudentCourseChoice = JLabel("Student course name")
    tfStudentCourseChoice = JTextField()
    
    lbStudentCourseChoice.setBounds(50,70,150,30)
    tfStudentCourseChoice.setBounds(220,70,150,30)
    
    btnEnter = JButton("Enter",actionPerformed=clickStudentCourseChoice)
    btnCancel = JButton("Cancel",actionPerformed=clickBtnCancel)
    
    btnEnter.setBounds(350,150,100,30)
    btnCancel.setBounds(50,150,100,30)
    
    panel.add(heading)
    panel.add(lbStudentCourseChoice)
    panel.add(tfStudentCourseChoice)
    panel.add(btnEnter)
    panel.add(btnCancel)
    frame.add(panel)
def showAttendenceSheet():
    global table
    global heading
    global frame
    global panel
    global btnSave
    global btnCancel

    frame = JFrame("Teacher Attendence Sheet ")
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
    frame.setSize(500, 600)
    frame.setLocation(200, 200)
    frame.setLayout(None)
    frame.setVisible(True)

    panel = JPanel()
    panel.setSize(500, 600)
    panel.setLocation(0, 0)
    panel.setLayout(None)
    panel.setVisible(True)
    panel.setBackground(Color.WHITE)

    heading = JLabel()
    heading.setBounds(200, 10, 150, 30)

    table = JTable()
    table.setBounds(0, 50, 500, 450)
    panel.add(table)

    btnSave = JButton("Save", actionPerformed=clickSaveBtn)
    btnCancel = JButton("Cancel", actionPerformed=clickCancelBtn)

    btnSave.setBounds(350, 540, 100, 40)
    btnCancel.setBounds(70, 540, 100, 40)

    panel.add(heading)
    panel.add(table)
    panel.add(btnSave)
    panel.add(btnCancel)

    frame.add(panel)
def showStudentAttendenceSheetAdminLogined():
    global table
    global heading
    global frame
    global panel
    global btnok

    frame = JFrame("Student Attendence Sheet ")
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
    frame.setSize(500, 600)
    frame.setLocation(200, 200)
    frame.setLayout(None)
    frame.setVisible(True)

    panel = JPanel()
    panel.setSize(500, 600)
    panel.setLocation(0, 0)
    panel.setLayout(None)
    panel.setVisible(True)
    panel.setBackground(Color.WHITE)

    heading = JLabel("Student Attendence")
    heading.setBounds(200, 10, 150, 30)

    table = JTable()
    table.setBounds(0, 50, 500, 450)
    panel.add(table)

    btnOk = JButton("Ok", actionPerformed=clickOk)

    btnOk.setBounds(200, 540, 100, 40)

    panel.add(heading)
    panel.add(table)
    panel.add(btnOk)

    frame.add(panel)
예제 #8
0
def createStudentFeeForm(stFeeObj):
    
    global tfStudentId
    global tfStudentName
    global tfTotalAmount
    global tfPaidAmount
    global tfRemainingAmount 
    global frame
    
    frame = JFrame("Student Fee Form ")
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
    frame.setSize(500,500)
    frame.setLocation(200,200)
    frame.setLayout(None)
    frame.setVisible(True)
    
    panel = JPanel()
    panel.setSize(500,500)
    panel.setLocation(0,0)
    panel.setLayout(None)
    panel.setVisible(True)
    panel.setBackground(Color.LIGHT_GRAY)
    
    heading = JLabel("STUDENT FEE")
    heading.setBounds(200,30,150,40)

    lbStudentId = JLabel(" Student id")
    lbStudentName = JLabel(" student name")
    lbTotalAmount = JLabel("Total Amount ")
    lbPaidAmount = JLabel("Paid Amount")
    lbRemainingAmount = JLabel("Remaining amount")
    
    studentId =getattr(stFeeObj,'studentId')
    studentName =getattr(stFeeObj,'studentName')
    totalAmount =getattr(stFeeObj,'totalAmount')
    paidAmount =getattr(stFeeObj,'paidAmount')
    remainingAmount =getattr(stFeeObj,'remainingAmount')
    
    
    tfStudentId = JTextField(str(studentId))
    tfStudentName = JTextField(str(studentName))
    tfTotalAmount = JTextField(str(totalAmount))
    tfPaidAmount = JTextField(str(paidAmount))
    tfRemainingAmount = JTextField(str(remainingAmount))
    
    tfStudentId.setEditable(False)
    tfStudentName.setEditable(False)
    tfTotalAmount.setEditable(False)
    tfRemainingAmount.setEditable(False)
    
    lbStudentId.setBounds(70,100,130,30)
    lbStudentName.setBounds(70,150,130,30)
    lbTotalAmount.setBounds(70,200,130,30)
    lbPaidAmount.setBounds(70,250,130,30)
    lbRemainingAmount.setBounds(70,300,130,30)
    
    tfStudentId.setBounds(220,100,130,30)
    tfStudentName.setBounds(220,150,130,30)
    tfTotalAmount.setBounds(220,200,130,30)
    tfPaidAmount.setBounds(220,250,130,30)
    tfRemainingAmount.setBounds(220,300,130,30)
    
    btnPay = JButton("Paid",actionPerformed=clickPay)
    btnPay.setBounds(350,410,100,40)
    
    btnCancel = JButton("Cancel",actionPerformed=clickbtnCancelForm)
    btnCancel.setBounds(50,410,100,40)
    
    panel.add(heading)
    panel.add(lbStudentId)
    panel.add(lbStudentName)
    panel.add(lbTotalAmount)
    panel.add(lbPaidAmount)
    panel.add(lbRemainingAmount)
    panel.add(tfStudentId)
    panel.add(tfStudentName)
    panel.add(tfTotalAmount)
    panel.add(tfPaidAmount)
    panel.add(tfRemainingAmount)
    panel.add(btnPay)
    panel.add(btnCancel)
    
    frame.add(panel)
예제 #9
0
class QatDialog(ToggleDialog):
    """ToggleDialog for error type selection and buttons for reviewing
       errors in sequence
    """
    def __init__(self, name, iconName, tooltip, shortcut, height, app):
        ToggleDialog.__init__(self, name, iconName, tooltip, shortcut, height)
        self.app = app
        tools = app.tools

        #Main panel of the dialog
        mainPnl = JPanel(BorderLayout())
        mainPnl.setBorder(BorderFactory.createEmptyBorder(0, 1, 1, 1))

        ### First tab: errors selection and download ###########################
        #ComboBox with tools names
        self.toolsComboModel = DefaultComboBoxModel()
        for tool in tools:
            self.add_data_to_models(tool)
        self.toolsCombo = JComboBox(self.toolsComboModel,
                                    actionListener=ToolsComboListener(app))
        renderer = ToolsComboRenderer(self.app)
        renderer.setPreferredSize(Dimension(20, 20))
        self.toolsCombo.setRenderer(renderer)
        self.toolsCombo.setToolTipText(
            app.strings.getString("Select_a_quality_assurance_tool"))

        #ComboBox with categories names ("views"), of the selected tool
        self.viewsCombo = JComboBox(actionListener=ViewsComboListener(app))
        self.viewsCombo.setToolTipText(
            app.strings.getString("Select_a_category_of_error"))

        #Popup for checks table
        self.checkPopup = JPopupMenu()
        #add favourite check
        self.menuItemAdd = JMenuItem(
            self.app.strings.getString("Add_to_favourites"))
        self.menuItemAdd.setIcon(
            ImageIcon(
                File.separator.join([
                    self.app.SCRIPTDIR, "tools", "data", "Favourites", "icons",
                    "tool_16.png"
                ])))
        self.menuItemAdd.addActionListener(PopupActionListener(self.app))
        self.checkPopup.add(self.menuItemAdd)
        #remove favourite check
        self.menuItemRemove = JMenuItem(
            self.app.strings.getString("Remove_from_favourites"))
        self.menuItemRemove.setIcon(
            ImageIcon(
                File.separator.join([
                    self.app.SCRIPTDIR, "tools", "data", "Favourites", "icons",
                    "black_tool_16.png"
                ])))
        self.menuItemRemove.addActionListener(PopupActionListener(self.app))
        self.checkPopup.add(self.menuItemRemove)
        #Help link for selected check
        self.menuItemHelp = JMenuItem(self.app.strings.getString("check_help"))
        self.menuItemHelp.setIcon(
            ImageIcon(
                File.separator.join(
                    [self.app.SCRIPTDIR, "images", "icons", "info_16.png"])))
        self.checkPopup.add(self.menuItemHelp)
        self.menuItemHelp.addActionListener(PopupActionListener(self.app))

        #Table with checks of selected tool and view
        self.checksTable = JTable()
        self.iconrenderer = IconRenderer()
        self.iconrenderer.setHorizontalAlignment(JLabel.CENTER)
        scrollPane = JScrollPane(self.checksTable)
        self.checksTable.setFillsViewportHeight(True)

        tableSelectionModel = self.checksTable.getSelectionModel()
        tableSelectionModel.addListSelectionListener(ChecksTableListener(app))

        self.checksTable.addMouseListener(
            ChecksTableClickListener(app, self.checkPopup, self.checksTable))

        #Favourite area status indicator
        self.favAreaIndicator = JLabel()
        self.update_favourite_zone_indicator()
        self.favAreaIndicator.addMouseListener(FavAreaIndicatorListener(app))

        #label with OSM id of the object currently edited and number of
        #errors still to review
        self.checksTextFld = JTextField("",
                                        editable=0,
                                        border=None,
                                        background=None)

        #checks buttons
        btnsIconsDir = File.separator.join([app.SCRIPTDIR, "images", "icons"])
        downloadIcon = ImageIcon(
            File.separator.join([btnsIconsDir, "download.png"]))
        self.downloadBtn = JButton(downloadIcon,
                                   actionPerformed=app.on_downloadBtn_clicked,
                                   enabled=0)
        startIcon = ImageIcon(
            File.separator.join([btnsIconsDir, "start_fixing.png"]))
        self.startBtn = JButton(startIcon,
                                actionPerformed=app.on_startBtn_clicked,
                                enabled=0)
        self.downloadBtn.setToolTipText(
            app.strings.getString("Download_errors_in_this_area"))
        self.startBtn.setToolTipText(
            app.strings.getString("Start_fixing_the_selected_errors"))

        #tab layout
        panel1 = JPanel(BorderLayout(0, 1))

        comboboxesPnl = JPanel(GridLayout(0, 2, 5, 0))
        comboboxesPnl.add(self.toolsCombo)
        comboboxesPnl.add(self.viewsCombo)

        checksPnl = JPanel(BorderLayout(0, 1))
        checksPnl.add(scrollPane, BorderLayout.CENTER)
        self.statsPanel = JPanel(BorderLayout(4, 0))
        self.statsPanel_def_color = self.statsPanel.getBackground()
        self.statsPanel.add(self.checksTextFld, BorderLayout.CENTER)
        self.statsPanel.add(self.favAreaIndicator, BorderLayout.LINE_START)
        checksPnl.add(self.statsPanel, BorderLayout.PAGE_END)

        checksButtonsPnl = JPanel(GridLayout(0, 2, 0, 0))
        checksButtonsPnl.add(self.downloadBtn)
        checksButtonsPnl.add(self.startBtn)

        panel1.add(comboboxesPnl, BorderLayout.PAGE_START)
        panel1.add(checksPnl, BorderLayout.CENTER)
        panel1.add(checksButtonsPnl, BorderLayout.PAGE_END)

        ### Second tab: errors fixing ##########################################
        #label with error stats
        self.errorTextFld = JTextField("",
                                       editable=0,
                                       border=None,
                                       background=None)
        #label with current error description
        self.errorDesc = JLabel("")
        self.errorDesc.setAlignmentX(0.5)

        #error buttons
        errorInfoBtnIcon = ImageProvider.get("info")
        self.errorInfoBtn = JButton(
            errorInfoBtnIcon,
            actionPerformed=app.on_errorInfoBtn_clicked,
            enabled=0)
        notErrorIcon = ImageIcon(
            File.separator.join([btnsIconsDir, "not_error.png"]))
        self.notErrorBtn = JButton(
            notErrorIcon,
            actionPerformed=app.on_falsePositiveBtn_clicked,
            enabled=0)
        ignoreIcon = ImageIcon(File.separator.join([btnsIconsDir, "skip.png"]))
        self.ignoreBtn = JButton(ignoreIcon,
                                 actionPerformed=app.on_ignoreBtn_clicked,
                                 enabled=0)
        correctedIcon = ImageIcon(
            File.separator.join([btnsIconsDir, "corrected.png"]))
        self.correctedBtn = JButton(
            correctedIcon,
            actionPerformed=app.on_correctedBtn_clicked,
            enabled=0)
        nextIcon = ImageIcon(File.separator.join([btnsIconsDir, "next.png"]))
        self.nextBtn = JButton(nextIcon,
                               actionPerformed=app.on_nextBtn_clicked,
                               enabled=0)
        #self.nextBtn.setMnemonic(KeyEvent.VK_RIGHT)
        self.errorInfoBtn.setToolTipText(
            app.strings.getString("open_error_info_dialog"))
        self.notErrorBtn.setToolTipText(
            app.strings.getString("flag_false_positive"))
        self.ignoreBtn.setToolTipText(
            app.strings.getString("Skip_and_don't_show_me_this_error_again"))
        self.correctedBtn.setToolTipText(
            app.strings.getString("flag_corrected_error"))
        self.nextBtn.setToolTipText(app.strings.getString("Go_to_next_error"))

        #tab layout
        self.panel2 = JPanel(BorderLayout())

        self.panel2.add(self.errorTextFld, BorderLayout.PAGE_START)
        self.panel2.add(self.errorDesc, BorderLayout.CENTER)

        errorButtonsPanel = JPanel(GridLayout(0, 5, 0, 0))
        errorButtonsPanel.add(self.errorInfoBtn)
        errorButtonsPanel.add(self.notErrorBtn)
        errorButtonsPanel.add(self.ignoreBtn)
        errorButtonsPanel.add(self.correctedBtn)
        errorButtonsPanel.add(self.nextBtn)
        self.panel2.add(errorButtonsPanel, BorderLayout.PAGE_END)

        #Layout
        self.tabbedPane = JTabbedPane()
        self.tabbedPane.addTab(self.app.strings.getString("Download"), None,
                               panel1,
                               self.app.strings.getString("download_tab"))
        mainPnl.add(self.tabbedPane, BorderLayout.CENTER)
        self.createLayout(mainPnl, False, None)

    def add_data_to_models(self, tool):
        """Add data of a tool to the models of the dialog components
        """
        #tools combobox model
        if tool == self.app.favouritesTool:
            self.toolsComboModel.addElement(JSeparator())
        self.toolsComboModel.addElement(tool)

        #views combobox model
        tool.viewsComboModel = DefaultComboBoxModel()
        for view in tool.views:
            tool.viewsComboModel.addElement(view.title)

        #checks table, one TableModel for each view, of each tool
        columns = [
            "",
            self.app.strings.getString("Check"),
            self.app.strings.getString("Errors")
        ]
        for view in tool.views:
            tableRows = []
            for check in view.checks:
                if check.icon is not None:
                    icon = check.icon
                else:
                    icon = ""
                errorsNumber = ""
                tableRows.append([icon, check.title, errorsNumber])
            view.tableModel = MyTableModel(tableRows, columns)

    def update_favourite_zone_indicator(self):
        #icon
        if self.app.favZone is not None:
            self.favAreaIndicator.setIcon(self.app.favZone.icon)
            #tooltip
            messageArguments = array([self.app.favZone.name], String)
            formatter = MessageFormat("")
            formatter.applyPattern(
                self.app.strings.getString("favAreaIndicator_tooltip"))
            msg = formatter.format(messageArguments)
            self.favAreaIndicator.setToolTipText(msg)
            #status
            self.favAreaIndicator.setVisible(self.app.favouriteZoneStatus)

    def set_checksTextFld_color(self, color):
        """Change color of textField under checksTable
        """
        colors = {
            "white": (255, 255, 255),
            "black": (0, 0, 0),
            "green": (100, 200, 0),
            "red": (200, 0, 0)
        }
        if color == "default":
            self.statsPanel.background = self.statsPanel_def_color
            self.checksTextFld.foreground = colors["black"]
        else:
            self.statsPanel.background = colors[color]
            self.checksTextFld.foreground = colors["white"]

    def change_selection(self, source):
        """Change comboboxes and checks table selections after a
           selection has been made by the user
        """
        if source in ("menu", "layer", "add favourite"):
            self.app.selectionChangedFromMenuOrLayer = True
            self.toolsCombo.setSelectedItem(self.app.selectedTool)
            self.viewsCombo.setModel(self.app.selectedTool.viewsComboModel)
            self.viewsCombo.setSelectedItem(self.app.selectedView.title)

            self.checksTable.setModel(self.app.selectedTableModel)
            self.refresh_checksTable_columns_geometries()
            for i, c in enumerate(self.app.selectedView.checks):
                if c == self.app.selectedChecks[0]:
                    break
            self.checksTable.setRowSelectionInterval(i, i)
            self.app.selectionChangedFromMenuOrLayer = False
        else:
            self.app.selectionChangedFromMenuOrLayer = False
            if source == "toolsCombo":
                self.viewsCombo.setModel(self.app.selectedTool.viewsComboModel)
                self.viewsCombo.setSelectedIndex(0)
            elif source == "viewsCombo":
                self.checksTable.setModel(self.app.selectedTableModel)
                self.refresh_checksTable_columns_geometries()
                if self.app.selectedView.checks != []:  # favourite checks may be none
                    self.checksTable.setRowSelectionInterval(0, 0)

    def refresh_checksTable_columns_geometries(self):
        self.checksTable.getColumnModel().getColumn(0).setCellRenderer(
            self.iconrenderer)
        self.checksTable.getColumnModel().getColumn(0).setMaxWidth(25)
        self.checksTable.getColumnModel().getColumn(2).setMaxWidth(60)

    def activate_error_tab(self, status):
        if status:
            if self.tabbedPane.getTabCount() == 1:
                self.tabbedPane.addTab(self.app.strings.getString("Fix"), None,
                                       self.panel2,
                                       self.app.strings.getString("fix_tab"))
        else:
            if self.tabbedPane.getTabCount() == 2:
                self.tabbedPane.remove(1)

    def update_checks_buttons(self):
        """This method sets the status of downloadBtn and startBtn
        """
        #none check selected
        if len(self.app.selectedChecks) == 0:
            self.downloadBtn.setEnabled(False)
            self.startBtn.setEnabled(False)
        else:
            #some check selected
            self.downloadBtn.setEnabled(True)
            if len(self.app.selectedChecks) > 1:
                self.startBtn.setEnabled(False)
            else:
                #only one check is selected
                self.app.errors = self.app.selectedChecks[0].errors
                if self.app.errors is None or len(self.app.errors) == 0:
                    #errors file has not been downloaded and parsed yet
                    self.startBtn.setEnabled(False)
                else:
                    #errors file has been downloaded and parsed
                    if self.app.selectedChecks[0].toDo == 0:
                        #all errors have been corrected
                        self.startBtn.setEnabled(False)
                    else:
                        self.startBtn.setEnabled(True)
                        #self.nextBtn.setEnabled(True)

    def update_error_buttons(self, mode):
        """This method sets the status of:
           ignoreBtn, falsePositiveBtn, correctedBtn, nextBtn
        """
        if mode == "new error":
            status = True
        else:
            status = False
        if self.app.selectedChecks[0].tool.fixedFeedbackMode is None:
            self.correctedBtn.setEnabled(False)
        else:
            self.correctedBtn.setEnabled(status)
        if self.app.selectedChecks[0].tool.falseFeedbackMode is None:
            self.notErrorBtn.setEnabled(False)
        else:
            self.notErrorBtn.setEnabled(status)
        self.errorInfoBtn.setEnabled(status)
        self.ignoreBtn.setEnabled(status)

        if mode in ("reset", "review end"):
            self.nextBtn.setEnabled(False)
        elif mode in ("errors downloaded", "show stats", "new error"):
            self.nextBtn.setEnabled(True)

    def update_text_fields(self, mode, errorInfo=""):
        """This method updates the text in:
           checksTextFld, errorDesc, errorTextFld
        """
        self.errorDesc.text = ""
        if mode == "review end":
            cheksTextColor = "green"
            checksText = self.app.strings.getString("All_errors_reviewed.")
            errorText = self.app.strings.getString("All_errors_reviewed.")
        elif mode == "reset":
            cheksTextColor = "default"
            checksText = ""
            errorText = ""
        elif mode == "show stats":
            cheksTextColor = "default"
            checksText = "%s %d / %s" % (
                self.app.strings.getString("to_do"),
                self.app.selectedChecks[0].toDo,
                len(self.app.selectedChecks[0].errors))
            #print "checks text", checksText
            errorText = "%s%s %d / %s" % (
                errorInfo, self.app.strings.getString("to_do"),
                self.app.selectedChecks[0].toDo,
                len(self.app.selectedChecks[0].errors))
            #print "error text", errorText
            if self.app.selectedError is not None and self.app.selectedError.desc != "":
                self.errorDesc.text = "<html>%s</html>" % self.app.selectedError.desc

        self.set_checksTextFld_color(cheksTextColor)
        self.checksTextFld.text = checksText
        self.errorTextFld.text = errorText
        self.update_statsPanel_status()

    def update_statsPanel_status(self):
        if self.checksTextFld.text == "" and not self.app.favouriteZoneStatus:
            self.statsPanel.setVisible(False)
        else:
            self.statsPanel.setVisible(True)
예제 #10
0
def updateTeacherForm(data):

    global heading
    global tfTeacherName
    global tfTeacherPhone
    global taTeacherAddress
    global tfTeacherEmail
    global tfTeacherCourse
    global tfTeacherPayment
    global frame
    global btnEnter

    frame = JFrame(" Teacher ")
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
    frame.setSize(500, 600)
    frame.setLocation(200, 200)
    frame.setLayout(None)
    frame.setVisible(True)

    panel = JPanel()
    panel.setSize(500, 600)
    panel.setLocation(0, 0)
    panel.setLayout(None)
    panel.setVisible(True)
    panel.setBackground(Color.LIGHT_GRAY)

    heading = JLabel(" TEACHER PROFILE")
    heading.setBounds(200, 30, 150, 40)

    lbTeacherName = JLabel("Teacher Name ")
    lbTeacherPhone = JLabel("Phone")
    lbTeacherEmail = JLabel("Email")
    lbTeacherAddress = JLabel("Address")
    lbTeacherCourse = JLabel("Teacher Course ")
    lbTeacherPayment = JLabel("Teacher Payment")

    teacherName = data[0].encode('ascii')
    teacherPhone = data[1].encode('ascii')
    teacherEmail = data[2].encode('ascii')
    teacherAddress = data[3].encode('ascii')
    teacherCourse = data[4].encode('ascii')
    teacherPayment = data[5]

    tfTeacherName = JTextField(teacherName)
    tfTeacherPhone = JTextField(teacherPhone)
    taTeacherAddress = JTextArea(teacherAddress)
    tfTeacherEmail = JTextField(teacherEmail)
    tfTeacherCourse = JTextField(teacherCourse)
    tfTeacherPayment = JTextField(str(teacherPayment))

    tfTeacherCourse.setEditable(False)
    tfTeacherPayment.setEditable(False)
    tfTeacherName.setEditable(False)

    lbTeacherName.setBounds(70, 100, 130, 30)
    lbTeacherPhone.setBounds(70, 150, 130, 30)
    lbTeacherEmail.setBounds(70, 200, 130, 30)
    lbTeacherAddress.setBounds(70, 250, 130, 30)
    lbTeacherCourse.setBounds(70, 350, 130, 30)
    lbTeacherPayment.setBounds(70, 400, 130, 30)

    tfTeacherName.setBounds(220, 100, 130, 30)
    tfTeacherPhone.setBounds(220, 150, 130, 30)
    tfTeacherEmail.setBounds(220, 200, 130, 30)
    taTeacherAddress.setBounds(220, 250, 130, 80)
    tfTeacherCourse.setBounds(220, 350, 130, 30)
    tfTeacherPayment.setBounds(220, 400, 130, 30)

    btnEnter = JButton("Update", actionPerformed=clickUpdateTeacher)
    btnEnter.setBounds(350, 450, 100, 40)

    btnCancel = JButton("Cancel", actionPerformed=clickCancel)
    btnCancel.setBounds(100, 450, 100, 40)

    panel.add(heading)
    panel.add(lbTeacherName)
    panel.add(lbTeacherPhone)
    panel.add(lbTeacherEmail)
    panel.add(lbTeacherAddress)
    panel.add(lbTeacherCourse)
    panel.add(lbTeacherPayment)
    panel.add(tfTeacherName)
    panel.add(tfTeacherPhone)
    panel.add(tfTeacherEmail)
    panel.add(taTeacherAddress)
    panel.add(tfTeacherCourse)
    panel.add(tfTeacherPayment)
    panel.add(btnEnter)
    panel.add(btnCancel)

    frame.add(panel)
예제 #11
0
class QatDialog(ToggleDialog):
    """ToggleDialog for error type selection and buttons for reviewing
       errors in sequence
    """
    def __init__(self, name, iconName, tooltip, shortcut, height, app):
        ToggleDialog.__init__(self, name, iconName, tooltip, shortcut, height)
        self.app = app
        tools = app.tools

        #Main panel of the dialog
        mainPnl = JPanel(BorderLayout())
        mainPnl.setBorder(BorderFactory.createEmptyBorder(0, 1, 1, 1))

### First tab: errors selection and download ###########################
        #ComboBox with tools names
        self.toolsComboModel = DefaultComboBoxModel()
        for tool in tools:
            self.add_data_to_models(tool)
        self.toolsCombo = JComboBox(self.toolsComboModel,
                                    actionListener=ToolsComboListener(app))
        renderer = ToolsComboRenderer(self.app)
        renderer.setPreferredSize(Dimension(20, 20))
        self.toolsCombo.setRenderer(renderer)
        self.toolsCombo.setToolTipText(app.strings.getString("Select_a_quality_assurance_tool"))

        #ComboBox with categories names ("views"), of the selected tool
        self.viewsCombo = JComboBox(actionListener=ViewsComboListener(app))
        self.viewsCombo.setToolTipText(app.strings.getString("Select_a_category_of_error"))

        #Popup for checks table
        self.checkPopup = JPopupMenu()
        #add favourite check
        self.menuItemAdd = JMenuItem(self.app.strings.getString("Add_to_favourites"))
        self.menuItemAdd.setIcon(ImageIcon(File.separator.join([self.app.SCRIPTDIR,
                                                                "tools",
                                                                "data",
                                                                "Favourites",
                                                                "icons",
                                                                "tool_16.png"])))
        self.menuItemAdd.addActionListener(PopupActionListener(self.app))
        self.checkPopup.add(self.menuItemAdd)
        #remove favourite check
        self.menuItemRemove = JMenuItem(self.app.strings.getString("Remove_from_favourites"))
        self.menuItemRemove.setIcon(ImageIcon(File.separator.join([self.app.SCRIPTDIR,
                                                                   "tools",
                                                                   "data",
                                                                   "Favourites",
                                                                   "icons",
                                                                   "black_tool_16.png"])))
        self.menuItemRemove.addActionListener(PopupActionListener(self.app))
        self.checkPopup.add(self.menuItemRemove)
        #Help link for selected check
        self.menuItemHelp = JMenuItem(self.app.strings.getString("check_help"))
        self.menuItemHelp.setIcon(ImageIcon(File.separator.join([self.app.SCRIPTDIR,
                                                                 "images",
                                                                 "icons",
                                                                 "info_16.png"])))
        self.checkPopup.add(self.menuItemHelp)
        self.menuItemHelp.addActionListener(PopupActionListener(self.app))

        #Table with checks of selected tool and view
        self.checksTable = JTable()
        self.iconrenderer = IconRenderer()
        self.iconrenderer.setHorizontalAlignment(JLabel.CENTER)
        scrollPane = JScrollPane(self.checksTable)
        self.checksTable.setFillsViewportHeight(True)

        tableSelectionModel = self.checksTable.getSelectionModel()
        tableSelectionModel.addListSelectionListener(ChecksTableListener(app))

        self.checksTable.addMouseListener(ChecksTableClickListener(app,
            self.checkPopup,
            self.checksTable))

        #Favourite area status indicator
        self.favAreaIndicator = JLabel()
        self.update_favourite_zone_indicator()
        self.favAreaIndicator.addMouseListener(FavAreaIndicatorListener(app))

        #label with OSM id of the object currently edited and number of
        #errors still to review
        self.checksTextFld = JTextField("",
                                        editable=0,
                                        border=None,
                                        background=None)

        #checks buttons
        btnsIconsDir = File.separator.join([app.SCRIPTDIR, "images", "icons"])
        downloadIcon = ImageIcon(File.separator.join([btnsIconsDir, "download.png"]))
        self.downloadBtn = JButton(downloadIcon,
                                   actionPerformed=app.on_downloadBtn_clicked,
                                   enabled=0)
        startIcon = ImageIcon(File.separator.join([btnsIconsDir, "start_fixing.png"]))
        self.startBtn = JButton(startIcon,
                                actionPerformed=app.on_startBtn_clicked,
                                enabled=0)
        self.downloadBtn.setToolTipText(app.strings.getString("Download_errors_in_this_area"))
        self.startBtn.setToolTipText(app.strings.getString("Start_fixing_the_selected_errors"))

        #tab layout
        panel1 = JPanel(BorderLayout(0, 1))

        comboboxesPnl = JPanel(GridLayout(0, 2, 5, 0))
        comboboxesPnl.add(self.toolsCombo)
        comboboxesPnl.add(self.viewsCombo)

        checksPnl = JPanel(BorderLayout(0, 1))
        checksPnl.add(scrollPane, BorderLayout.CENTER)
        self.statsPanel = JPanel(BorderLayout(4, 0))
        self.statsPanel_def_color = self.statsPanel.getBackground()
        self.statsPanel.add(self.checksTextFld, BorderLayout.CENTER)
        self.statsPanel.add(self.favAreaIndicator, BorderLayout.LINE_START)
        checksPnl.add(self.statsPanel, BorderLayout.PAGE_END)

        checksButtonsPnl = JPanel(GridLayout(0, 2, 0, 0))
        checksButtonsPnl.add(self.downloadBtn)
        checksButtonsPnl.add(self.startBtn)

        panel1.add(comboboxesPnl, BorderLayout.PAGE_START)
        panel1.add(checksPnl, BorderLayout.CENTER)
        panel1.add(checksButtonsPnl, BorderLayout.PAGE_END)

### Second tab: errors fixing ##########################################
        #label with error stats
        self.errorTextFld = JTextField("",
                                       editable=0,
                                       border=None,
                                       background=None)
        #label with current error description
        self.errorDesc = JLabel("")
        self.errorDesc.setAlignmentX(0.5)

        #error buttons
        errorInfoBtnIcon = ImageProvider.get("info")
        self.errorInfoBtn = JButton(errorInfoBtnIcon,
                                    actionPerformed=app.on_errorInfoBtn_clicked,
                                    enabled=0)
        notErrorIcon = ImageIcon(File.separator.join([btnsIconsDir, "not_error.png"]))
        self.notErrorBtn = JButton(notErrorIcon,
                                   actionPerformed=app.on_falsePositiveBtn_clicked,
                                   enabled=0)
        ignoreIcon = ImageIcon(File.separator.join([btnsIconsDir, "skip.png"]))
        self.ignoreBtn = JButton(ignoreIcon,
                                 actionPerformed=app.on_ignoreBtn_clicked,
                                 enabled=0)
        correctedIcon = ImageIcon(File.separator.join([btnsIconsDir, "corrected.png"]))
        self.correctedBtn = JButton(correctedIcon,
                                    actionPerformed=app.on_correctedBtn_clicked,
                                    enabled=0)
        nextIcon = ImageIcon(File.separator.join([btnsIconsDir, "next.png"]))
        self.nextBtn = JButton(nextIcon,
                               actionPerformed=app.on_nextBtn_clicked,
                               enabled=0)
        #self.nextBtn.setMnemonic(KeyEvent.VK_RIGHT)
        self.errorInfoBtn.setToolTipText(app.strings.getString("open_error_info_dialog"))
        self.notErrorBtn.setToolTipText(app.strings.getString("flag_false_positive"))
        self.ignoreBtn.setToolTipText(app.strings.getString("Skip_and_don't_show_me_this_error_again"))
        self.correctedBtn.setToolTipText(app.strings.getString("flag_corrected_error"))
        self.nextBtn.setToolTipText(app.strings.getString("Go_to_next_error"))

        #tab layout
        self.panel2 = JPanel(BorderLayout())

        self.panel2.add(self.errorTextFld, BorderLayout.PAGE_START)
        self.panel2.add(self.errorDesc, BorderLayout.CENTER)

        errorButtonsPanel = JPanel(GridLayout(0, 5, 0, 0))
        errorButtonsPanel.add(self.errorInfoBtn)
        errorButtonsPanel.add(self.notErrorBtn)
        errorButtonsPanel.add(self.ignoreBtn)
        errorButtonsPanel.add(self.correctedBtn)
        errorButtonsPanel.add(self.nextBtn)
        self.panel2.add(errorButtonsPanel, BorderLayout.PAGE_END)

        #Layout
        self.tabbedPane = JTabbedPane()
        self.tabbedPane.addTab(self.app.strings.getString("Download"),
                               None,
                               panel1,
                               self.app.strings.getString("download_tab"))
        mainPnl.add(self.tabbedPane, BorderLayout.CENTER)
        self.createLayout(mainPnl, False, None)

    def add_data_to_models(self, tool):
        """Add data of a tool to the models of the dialog components
        """
        #tools combobox model
        if tool == self.app.favouritesTool:
            self.toolsComboModel.addElement(JSeparator())
        self.toolsComboModel.addElement(tool)

        #views combobox model
        tool.viewsComboModel = DefaultComboBoxModel()
        for view in tool.views:
            tool.viewsComboModel.addElement(view.title)

        #checks table, one TableModel for each view, of each tool
        columns = ["",
                   self.app.strings.getString("Check"),
                   self.app.strings.getString("Errors")]
        for view in tool.views:
            tableRows = []
            for check in view.checks:
                if check.icon is not None:
                    icon = check.icon
                else:
                    icon = ""
                errorsNumber = ""
                tableRows.append([icon, check.title, errorsNumber])
            view.tableModel = MyTableModel(tableRows, columns)

    def update_favourite_zone_indicator(self):
        #icon
        if self.app.favZone is not None:
            self.favAreaIndicator.setIcon(self.app.favZone.icon)
            #tooltip
            messageArguments = array([self.app.favZone.name], String)
            formatter = MessageFormat("")
            formatter.applyPattern(self.app.strings.getString("favAreaIndicator_tooltip"))
            msg = formatter.format(messageArguments)
            self.favAreaIndicator.setToolTipText(msg)
            #status
            self.favAreaIndicator.setVisible(self.app.favouriteZoneStatus)

    def set_checksTextFld_color(self, color):
        """Change color of textField under checksTable
        """
        colors = {"white": (255, 255, 255),
                  "black": (0, 0, 0),
                  "green": (100, 200, 0),
                  "red": (200, 0, 0)}
        if color == "default":
            self.statsPanel.background = self.statsPanel_def_color
            self.checksTextFld.foreground = colors["black"]
        else:
            self.statsPanel.background = colors[color]
            self.checksTextFld.foreground = colors["white"]

    def change_selection(self, source):
        """Change comboboxes and checks table selections after a
           selection has been made by the user
        """
        if source in ("menu", "layer", "add favourite"):
            self.app.selectionChangedFromMenuOrLayer = True
            self.toolsCombo.setSelectedItem(self.app.selectedTool)
            self.viewsCombo.setModel(self.app.selectedTool.viewsComboModel)
            self.viewsCombo.setSelectedItem(self.app.selectedView.title)

            self.checksTable.setModel(self.app.selectedTableModel)
            self.refresh_checksTable_columns_geometries()
            for i, c in enumerate(self.app.selectedView.checks):
                if c == self.app.selectedChecks[0]:
                    break
            self.checksTable.setRowSelectionInterval(i, i)
            self.app.selectionChangedFromMenuOrLayer = False
        else:
            self.app.selectionChangedFromMenuOrLayer = False
            if source == "toolsCombo":
                self.viewsCombo.setModel(self.app.selectedTool.viewsComboModel)
                self.viewsCombo.setSelectedIndex(0)
            elif source == "viewsCombo":
                self.checksTable.setModel(self.app.selectedTableModel)
                self.refresh_checksTable_columns_geometries()
                if self.app.selectedView.checks != []:  # favourite checks may be none
                    self.checksTable.setRowSelectionInterval(0, 0)

    def refresh_checksTable_columns_geometries(self):
        self.checksTable.getColumnModel().getColumn(0).setCellRenderer(self.iconrenderer)
        self.checksTable.getColumnModel().getColumn(0).setMaxWidth(25)
        self.checksTable.getColumnModel().getColumn(2).setMaxWidth(60)

    def activate_error_tab(self, status):
        if status:
            if self.tabbedPane.getTabCount() == 1:
                self.tabbedPane.addTab(self.app.strings.getString("Fix"),
                                       None,
                                       self.panel2,
                                       self.app.strings.getString("fix_tab"))
        else:
            if self.tabbedPane.getTabCount() == 2:
                self.tabbedPane.remove(1)

    def update_checks_buttons(self):
        """This method sets the status of downloadBtn and startBtn
        """
        #none check selected
        if len(self.app.selectedChecks) == 0:
            self.downloadBtn.setEnabled(False)
            self.startBtn.setEnabled(False)
        else:
            #some check selected
            self.downloadBtn.setEnabled(True)
            if len(self.app.selectedChecks) > 1:
                self.startBtn.setEnabled(False)
            else:
                #only one check is selected
                self.app.errors = self.app.selectedChecks[0].errors
                if self.app.errors is None or len(self.app.errors) == 0:
                    #errors file has not been downloaded and parsed yet
                    self.startBtn.setEnabled(False)
                else:
                    #errors file has been downloaded and parsed
                    if self.app.selectedChecks[0].toDo == 0:
                        #all errors have been corrected
                        self.startBtn.setEnabled(False)
                    else:
                        self.startBtn.setEnabled(True)
                        #self.nextBtn.setEnabled(True)

    def update_error_buttons(self, mode):
        """This method sets the status of:
           ignoreBtn, falsePositiveBtn, correctedBtn, nextBtn
        """
        if mode == "new error":
            status = True
        else:
            status = False
        if self.app.selectedChecks[0].tool.fixedFeedbackMode is None:
            self.correctedBtn.setEnabled(False)
        else:
            self.correctedBtn.setEnabled(status)
        if self.app.selectedChecks[0].tool.falseFeedbackMode is None:
            self.notErrorBtn.setEnabled(False)
        else:
            self.notErrorBtn.setEnabled(status)
        self.errorInfoBtn.setEnabled(status)
        self.ignoreBtn.setEnabled(status)

        if mode in ("reset", "review end"):
            self.nextBtn.setEnabled(False)
        elif mode in ("errors downloaded", "show stats", "new error"):
            self.nextBtn.setEnabled(True)

    def update_text_fields(self, mode, errorInfo=""):
        """This method updates the text in:
           checksTextFld, errorDesc, errorTextFld
        """
        self.errorDesc.text = ""
        if mode == "review end":
            cheksTextColor = "green"
            checksText = self.app.strings.getString("All_errors_reviewed.")
            errorText = self.app.strings.getString("All_errors_reviewed.")
        elif mode == "reset":
            cheksTextColor = "default"
            checksText = ""
            errorText = ""
        elif mode == "show stats":
            cheksTextColor = "default"
            checksText = "%s %d / %s" % (
                         self.app.strings.getString("to_do"),
                         self.app.selectedChecks[0].toDo,
                         len(self.app.selectedChecks[0].errors))
            #print "checks text", checksText
            errorText = "%s%s %d / %s" % (
                        errorInfo,
                        self.app.strings.getString("to_do"),
                        self.app.selectedChecks[0].toDo,
                        len(self.app.selectedChecks[0].errors))
            #print "error text", errorText
            if self.app.selectedError is not None and self.app.selectedError.desc != "":
                self.errorDesc.text = "<html>%s</html>" % self.app.selectedError.desc

        self.set_checksTextFld_color(cheksTextColor)
        self.checksTextFld.text = checksText
        self.errorTextFld.text = errorText
        self.update_statsPanel_status()

    def update_statsPanel_status(self):
        if self.checksTextFld.text == "" and not self.app.favouriteZoneStatus:
            self.statsPanel.setVisible(False)
        else:
            self.statsPanel.setVisible(True)
def addTeacher():

    global heading
    global tfTeacherName
    global tfTeacherPhone
    global taTeacherAddress
    global tfTeacherEmail
    global tfTeacherCourse
    global tfTeacherPayment
    global frame
    global btnEnter

    frame = JFrame("Add Teacher ")
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
    frame.setSize(500, 600)
    frame.setLocation(200, 200)
    frame.setLayout(None)
    frame.setVisible(True)

    panel = JPanel()
    panel.setSize(500, 600)
    panel.setLocation(0, 0)
    panel.setLayout(None)
    panel.setVisible(True)
    panel.setBackground(Color.LIGHT_GRAY)

    heading = JLabel("ADD TEACHER")
    heading.setBounds(200, 30, 150, 40)

    lbTeacherName = JLabel("Teacher Name ")
    lbTeacherPhone = JLabel("Phone")
    lbTeacherEmail = JLabel("Email")
    lbTeacherAddress = JLabel("Address")
    lbTeacherCourse = JLabel("Teacher Course ")
    lbTeacherPayment = JLabel("Teacher Payment")

    tfTeacherName = JTextField()
    tfTeacherPhone = JTextField()
    taTeacherAddress = JTextArea()
    tfTeacherEmail = JTextField()
    tfTeacherCourse = JTextField()
    tfTeacherPayment = JTextField()

    lbTeacherName.setBounds(70, 100, 130, 30)
    lbTeacherPhone.setBounds(70, 150, 130, 30)
    lbTeacherEmail.setBounds(70, 200, 130, 30)
    lbTeacherAddress.setBounds(70, 250, 130, 30)
    lbTeacherCourse.setBounds(70, 350, 130, 30)
    lbTeacherPayment.setBounds(70, 400, 130, 30)

    tfTeacherName.setBounds(220, 100, 130, 30)
    tfTeacherPhone.setBounds(220, 150, 130, 30)
    tfTeacherEmail.setBounds(220, 200, 130, 30)
    taTeacherAddress.setBounds(220, 250, 130, 80)
    tfTeacherCourse.setBounds(220, 350, 130, 30)
    tfTeacherPayment.setBounds(220, 400, 130, 30)

    btnEnter = JButton("ADD", actionPerformed=clickAddTeacher)
    btnEnter.setBounds(350, 450, 100, 40)

    panel.add(heading)
    panel.add(lbTeacherName)
    panel.add(lbTeacherPhone)
    panel.add(lbTeacherEmail)
    panel.add(lbTeacherAddress)
    panel.add(lbTeacherCourse)
    panel.add(lbTeacherPayment)
    panel.add(tfTeacherName)
    panel.add(tfTeacherPhone)
    panel.add(tfTeacherEmail)
    panel.add(taTeacherAddress)
    panel.add(tfTeacherCourse)
    panel.add(tfTeacherPayment)
    panel.add(btnEnter)

    frame.add(panel)
def loginPage():
    global heading
    global rbAdmin
    global rbTeacher
    global rbStudent
    global frame
    global tfLoginId
    global tfPassword

    frame = JFrame("Login Form ")
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
    frame.setSize(500, 500)
    frame.setLocation(200, 200)
    frame.setLayout(None)
    frame.setVisible(True)

    panel = JPanel()
    panel.setSize(500, 500)
    panel.setLocation(0, 0)
    panel.setLayout(None)

    panel.setBackground(Color.BLUE)

    heading = JLabel("Admin Login")
    heading.setBounds(200, 50, 150, 30)

    rbAdmin = JRadioButton("Admin", actionPerformed=clickRadio)
    rbTeacher = JRadioButton("Teacher", actionPerformed=clickRadio)
    rbStudent = JRadioButton("Student", actionPerformed=clickRadio)

    rbAdmin.setBounds(100, 150, 100, 20)
    rbTeacher.setBounds(200, 150, 100, 20)
    rbStudent.setBounds(300, 150, 100, 20)

    btnGroup = ButtonGroup()
    btnGroup.add(rbAdmin)
    btnGroup.add(rbTeacher)
    btnGroup.add(rbStudent)

    lbLoginId = JLabel("LoginId")
    lbPassword = JLabel("Password")

    lbLoginId.setBounds(100, 230, 150, 30)
    lbPassword.setBounds(100, 300, 150, 30)

    tfLoginId = JTextField()
    tfPassword = JTextField()

    tfLoginId.setBounds(250, 230, 150, 30)
    tfPassword.setBounds(250, 300, 150, 30)

    btnLogin = JButton("Login", actionPerformed=clickLogin)
    btnLogin.setBounds(350, 350, 100, 30)

    btnReg = JButton("New Institute Registration", actionPerformed=clickReg)
    btnReg.setBounds(350, 400, 100, 30)

    panel.add(heading)
    panel.add(rbAdmin)
    panel.add(rbTeacher)
    panel.add(rbStudent)
    panel.add(lbLoginId)
    panel.add(lbPassword)
    panel.add(tfLoginId)
    panel.add(tfPassword)
    panel.add(btnLogin)
    panel.add(btnReg)

    panel.setVisible(True)

    frame.add(panel)
예제 #14
0
tabbedPane = JTabbedPane()
tabbedPane.setSize(377, 377)
tabbedPane.setLocation(15, 5)
tabbedPane.setVisible(True)



#panel1
p1 = JPanel()
p1.setOpaque(True)
p1.setBackground(Color.WHITE)
p1.setLayout(None)
p1.setSize(357, 337)
p1.setLocation(0, 0)
p1.setVisible(True)


generatedMatrix = awt.TextArea("-",7,7)
scrollPane1 = JScrollPane(generatedMatrix)
try:
    generatedMatrix.text = string1#myIOControl.derDrucker(gIC, gFB, gGamma)
except:
    print "Gagal melaporkan tahap 1"
generatedMatrix.setSize(393, 331)
generatedMatrix.setLocation(5, 5)
generatedMatrix.setBackground(Color.GRAY)


p1.add(generatedMatrix)
p1.add(scrollPane1)
informasiTabbedPane.setSize(610, 600)
informasiTabbedPane.setLocation(0, 0)

#global regFont
#regFont = awt.Font("Arial", Font.PLAIN, 13)

#panel1
mainFormHelper = JPanel()
mainFormHelper.setOpaque(True)
mainFormHelper.setLayout(None)
informasiTabbedPane.addTab("Halaman Utama", mainFormHelper)
mainFormHelper.setSize(610, 599)
mainFormHelper.setLocation(0, 0)

naiveFormHelper = JPanel()
naiveFormHelper.setOpaque(True)
naiveFormHelper.setLayout(None)
informasiTabbedPane.addTab("Naive Form", naiveFormHelper)
naiveFormHelper.setSize(610, 599)
naiveFormHelper.setSize(0, 0)

hackerFormHelper = JPanel()
hackerFormHelper.setOpaque(True)
hackerFormHelper.setLayout(None)
informasiTabbedPane.addTab("Hacker Form", hackerFormHelper)
hackerFormHelper.setSize(610, 599)
hackerFormHelper.setSize(0, 0)

informasiPane.setVisible(True)
informasi.add(informasiPane, BorderLayout.CENTER)
informasi.setVisible(True)
def adminLogined(instObj):
    global panel
    global table
    global heading
    global btnUpdate
    global frame

    frame = JFrame("Admin Page ")
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
    frame.setSize(700, 640)
    frame.setLocation(200, 200)
    frame.setLayout(None)

    panel = JPanel()
    panel.setSize(700, 620)
    panel.setLocation(0, 20)
    panel.setLayout(None)
    panel.setVisible(True)
    panel.setBackground(Color.WHITE)

    heading = JLabel()
    heading.setBounds(310, 10, 200, 30)

    table = JTable()
    table.setBounds(0, 50, 700, 450)
    sp = JScrollPane(table, ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,
                     ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS)

    btnUpdate = JButton("Update", actionPerformed=clickUpdate)
    btnUpdate.setBounds(300, 530, 100, 30)

    bar = JMenuBar()
    courses = JMenu("Course")
    addCourse = JMenuItem("Add Course", actionPerformed=clickAddCourse)
    showCourseList = JMenuItem("Show Course List",
                               actionPerformed=clickShowCourseList)
    courses.add(addCourse)
    courses.add(showCourseList)
    bar.add(courses)

    teacher = JMenu("Teacher")
    addTeacher = JMenuItem("Add Teacher", actionPerformed=clickAddTeacher)
    showTeacherList = JMenuItem("Show Teacher List",
                                actionPerformed=clickShowTeacherList)
    showTeacherIdPassword = JMenuItem(
        "Show Teacher Id Password", actionPerformed=clickShowTeacherIdPassword)
    teacher.add(addTeacher)
    teacher.add(showTeacherList)
    teacher.add(showTeacherIdPassword)
    bar.add(teacher)

    student = JMenu("Student")
    addStudent = JMenuItem("Add Student", actionPerformed=clickAddStudent)
    showAllStudentList = JMenuItem("Show All Student",
                                   actionPerformed=clickShowAllStudent)
    showStudentsByCourse = JMenuItem("Show Student By course",
                                     actionPerformed=clickShowStudentByCourse)
    showStudentsByTeacher = JMenuItem(
        "Show Student By Teacher", actionPerformed=clickShowStudentByTeacher)
    showStudentIdPassword = JMenuItem(
        "Show Student Id Password", actionPerformed=clickShowStudentIdPassword)
    student.add(addStudent)
    student.add(showAllStudentList)
    student.add(showStudentsByCourse)
    student.add(showStudentsByTeacher)
    student.add(showStudentIdPassword)
    bar.add(student)

    attendence = JMenu(" Teacher Attendence")
    teacherAttendence = JMenuItem(" Take Teacher Attendence",
                                  actionPerformed=clickTotalAttendence)
    specificTeacherAttendence = JMenuItem(
        "Show Specific Teacher Attendence",
        actionPerformed=clickShowSpecificTeacherAttendence)
    allTeacherAttendenceMonth = JMenuItem(
        "All Teacher Attendence In Month",
        actionPerformed=clickShowAllSTeacherAttendenceMonth)
    specificTeacherAttendenceInMonth = JMenuItem(
        "Specific Teacher Attendence In Month",
        actionPerformed=clickShowSpecificSTeacherAttendenceMonth)
    allTeacherAttendenceStatisticsInMonth = JMenuItem(
        "All Teacher Attendence Statistics In Month",
        actionPerformed=clickShowAllTeacherAttendenceStatisticsMonth)
    attendence.add(teacherAttendence)
    attendence.add(specificTeacherAttendence)
    attendence.add(allTeacherAttendenceMonth)
    attendence.add(specificTeacherAttendenceInMonth)
    attendence.add(allTeacherAttendenceStatisticsInMonth)
    bar.add(attendence)

    studentAttendence = JMenu(" Student Attendence")
    specificTeacherStudentsAttendence = JMenuItem(
        "Show Specific Teacher Students Attendence",
        actionPerformed=clickShowSpecificTeacherStudentsAttendence)
    specificCourseStudentsAttendence = JMenuItem(
        "Show Specific course Students Attendence",
        actionPerformed=clickShowSpecificCourseStudentsAttendence)
    specificTeacherStudentsAttendenceInMonth = JMenuItem(
        "Show Specific teacher Students Attendence In month",
        actionPerformed=clickShowSpecificTeacherStudentsAttendenceInMonth)
    specificCourseStudentsAttendenceInMonth = JMenuItem(
        "Show Specific course Students Attendence In month",
        actionPerformed=clickShowSpecificCourseStudentsAttendenceInMonth)
    allStudentsAttendenceStatisticsInMonth = JMenuItem(
        "All Students Attendence Statistics In month",
        actionPerformed=clickShowAllStudentsAttendenceStatisticsInMonth)
    specificTeacherStudentsAttendenceStatisticsInMonth = JMenuItem(
        "Specific Teacher Students Attendence Statistics In month",
        actionPerformed=
        clickShowSpecificTeacherStudentsAttendenceStatisticsInMonth)
    specificCourseStudentsAttendenceStatisticsInMonth = JMenuItem(
        "Specific Course Students Attendence Statistics In month",
        actionPerformed=
        clickShowSpecificCourseStudentsAttendenceStatisticsInMonth)
    specificStudentAttendenceInMonth = JMenuItem(
        "Specific  Student Attendence In month",
        actionPerformed=clickShowSpecificStudentAttendenceInMonth)
    studentAttendence.add(specificTeacherStudentsAttendence)
    studentAttendence.add(specificCourseStudentsAttendence)
    studentAttendence.add(specificTeacherStudentsAttendenceInMonth)
    studentAttendence.add(specificCourseStudentsAttendenceInMonth)
    studentAttendence.add(allStudentsAttendenceStatisticsInMonth)
    studentAttendence.add(specificTeacherStudentsAttendenceStatisticsInMonth)
    studentAttendence.add(specificCourseStudentsAttendenceStatisticsInMonth)
    studentAttendence.add(specificStudentAttendenceInMonth)
    bar.add(studentAttendence)

    studentFee = JMenu("Student Fee ")
    payStudentFee = JMenuItem("Pay", actionPerformed=clickPayStudentFee)
    showStudentFeeListByCourse = JMenuItem(
        "Student Fee list By Course",
        actionPerformed=clickShowStudentFeeListByCourse)
    studentFee.add(payStudentFee)
    studentFee.add(showStudentFeeListByCourse)
    bar.add(studentFee)

    logout = JMenuItem("logout", actionPerformed=clickLogout)
    bar.add(logout)

    btnUpdate.setVisible(False)
    panel.add(table)
    panel.add(btnUpdate)

    frame.setJMenuBar(bar)
    frame.add(panel)

    frame.setVisible(True)
예제 #17
0
def studentProfileForm(data):

    global heading
    global tfStudentName
    global tfStudentPhone
    global taStudentAddress
    global tfStudentEmail
    global tfCourseName
    global tfCourseFee
    global tfStudentAssignTeacher
    global frame
    global btnEnter

    frame = JFrame(" Student ")
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
    frame.setSize(500, 620)
    frame.setLocation(200, 200)
    frame.setLayout(None)
    frame.setVisible(True)

    panel = JPanel()
    panel.setSize(500, 620)
    panel.setLocation(0, 0)
    panel.setLayout(None)
    panel.setVisible(True)
    panel.setBackground(Color.LIGHT_GRAY)

    heading = JLabel(" STUDENT PROFILE")
    heading.setBounds(200, 30, 150, 40)

    lbStudentName = JLabel("Student Name ")
    lbStudentPhone = JLabel("Phone")
    lbStudentEmail = JLabel("Email")
    lbStudentAddress = JLabel("Address")
    lbCourseName = JLabel("Course Name ")
    lbCourseFee = JLabel("Course Fee")
    lbStudentAssignTeacher = JLabel("Teacher")

    studentName = data[0].encode('ascii')
    studentPhone = data[1].encode('ascii')
    studentEmail = data[2].encode('ascii')
    studentAddress = data[3].encode('ascii')
    courseName = data[4].encode('ascii')
    courseFee = data[5]
    studentAssignTeacher = data[6].encode('ascii')

    tfStudentName = JTextField(studentName)
    tfStudentPhone = JTextField(studentPhone)
    taStudentAddress = JTextArea(studentAddress)
    tfStudentEmail = JTextField(studentEmail)
    tfCourseName = JTextField(courseName)
    tfCourseFee = JTextField(str(courseFee))
    tfStudentAssignTeacher = JTextField(studentAssignTeacher)

    tfCourseName.setEditable(False)
    tfCourseFee.setEditable(False)
    tfStudentAssignTeacher.setEditable(False)
    tfStudentName.setEditable(False)

    lbStudentName.setBounds(70, 100, 130, 30)
    lbStudentPhone.setBounds(70, 150, 130, 30)
    lbStudentEmail.setBounds(70, 200, 130, 30)
    lbStudentAddress.setBounds(70, 250, 130, 30)
    lbCourseName.setBounds(70, 350, 130, 30)
    lbCourseFee.setBounds(70, 400, 130, 30)
    lbStudentAssignTeacher.setBounds(70, 450, 130, 30)

    tfStudentName.setBounds(220, 100, 130, 30)
    tfStudentPhone.setBounds(220, 150, 130, 30)
    tfStudentEmail.setBounds(220, 200, 130, 30)
    taStudentAddress.setBounds(220, 250, 130, 80)
    tfCourseName.setBounds(220, 350, 130, 30)
    tfCourseFee.setBounds(220, 400, 130, 30)
    tfStudentAssignTeacher.setBounds(220, 450, 130, 30)

    btnEnter = JButton("Update", actionPerformed=clickUpdateStudent)
    btnEnter.setBounds(350, 530, 100, 40)

    btnCancel = JButton("Cancel", actionPerformed=clickCancel)
    btnCancel.setBounds(100, 530, 100, 40)

    panel.add(heading)
    panel.add(lbStudentName)
    panel.add(lbStudentPhone)
    panel.add(lbStudentEmail)
    panel.add(lbStudentAddress)
    panel.add(lbCourseName)
    panel.add(lbCourseFee)
    panel.add(lbStudentAssignTeacher)
    panel.add(tfStudentName)
    panel.add(tfStudentPhone)
    panel.add(tfStudentEmail)
    panel.add(taStudentAddress)
    panel.add(tfCourseName)
    panel.add(tfCourseFee)
    panel.add(tfStudentAssignTeacher)
    panel.add(btnEnter)
    panel.add(btnCancel)

    frame.add(panel)
예제 #18
0
def updateStudent(stObj):
    global studentId
    global tfStudentName
    global tfStudentPhone
    global tfStudentEmail
    global taStudentAddress
    global tfCourseName
    global cbStudentAssignTeacher
    global frame
    
    frame = JFrame("Update student ")
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
    frame.setSize(500,500)
    frame.setLocation(200,200)
    frame.setLayout(None)
    frame.setVisible(True)
    
    panel = JPanel()
    panel.setSize(500,500)
    panel.setLocation(0,0)
    panel.setLayout(None)
    panel.setVisible(True)
    panel.setBackground(Color.LIGHT_GRAY)
    
    studentId = getattr(stObj,'studentId')
    studentName= getattr(stObj,'studentName')
    studentPhone = getattr(stObj,'studentPhone')
    studentEmail = getattr(stObj,'studentEmail')
    studentAddress = getattr(stObj,'studentAddress')
    studentCourse = getattr(stObj,'courseName')
    
    teachersName =  srv.showStudentChoiceCourse(studentCourse)
    v = Vector()
    for d in teachersName: 
            v.add(d[0].encode('ascii')) 
    
    
    heading = JLabel("Update  TEACHER")
    heading.setBounds(200,30,150,40)

    lbStudentName = JLabel("Student name ")
    lbStudentPhone = JLabel("Phone")
    lbStudentEmail = JLabel("Email Id")
    lbStudentAddress = JLabel("Address")
    lbStudentAssignTeacher = JLabel("Student Assign teacher  ")
    
    tfStudentName = JTextField(studentName)
    tfStudentPhone = JTextField(studentPhone)
    tfStudentEmail = JTextField(studentEmail)
    taStudentAddress = JTextArea(studentAddress)
    cbStudentAssignTeacher = JComboBox(v)
    
    
    lbStudentName.setBounds(70,100,130,30)
    lbStudentPhone.setBounds(70,150,130,30)
    lbStudentEmail.setBounds(70,200,130,30)
    lbStudentAddress.setBounds(70,250,130,30)
    lbStudentAssignTeacher.setBounds(70,350,130,30)
    
    tfStudentName.setBounds(220,100,130,30)
    tfStudentPhone.setBounds(220,150,130,30)
    tfStudentEmail.setBounds(220,200,130,30)
    taStudentAddress.setBounds(220,250,130,80)
    cbStudentAssignTeacher.setBounds(220,350,130,30)
    
    
    btnEnter = JButton("Update",actionPerformed=clickUpdateStudent)
    btnEnter.setBounds(350,420,100,40)
    
    btnCancel = JButton("Cancel",actionPerformed=clickbtnCancel)
    btnCancel.setBounds(50,420,100,40)
    
    panel.add(heading)
    panel.add(lbStudentName)
    panel.add(lbStudentPhone)
    panel.add(lbStudentEmail)
    panel.add(lbStudentAddress)
    panel.add(lbStudentAssignTeacher)
    panel.add(tfStudentName)
    panel.add(tfStudentPhone)
    panel.add(tfStudentEmail)
    panel.add(taStudentAddress)
    panel.add(cbStudentAssignTeacher)
    panel.add(btnEnter)
    panel.add(btnCancel)
    
    frame.add(panel)
예제 #19
0
def addStudent(courseName, courseFee, v):

    global tfStudentName
    global tfStudentPhone
    global tfStudentEmail
    global taStudentAddress
    global tfCourseName
    global tfCourseFee
    global cbStudentAssignTeacher
    global frame

    frame = JFrame("Add Student ")
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
    frame.setSize(500, 600)
    frame.setLocation(200, 200)
    frame.setLayout(None)
    frame.setVisible(True)

    panel = JPanel()
    panel.setSize(500, 600)
    panel.setLocation(0, 0)
    panel.setLayout(None)
    panel.setVisible(True)
    panel.setBackground(Color.LIGHT_GRAY)

    heading = JLabel("ADD STUDENT")
    heading.setBounds(200, 30, 150, 40)

    lbCourseName = JLabel(" Course name")
    lbCourseFee = JLabel(" Course Fee")
    lbStudentName = JLabel("Student name ")
    lbStudentPhone = JLabel("Phone")
    lbStudentEmail = JLabel("Email Id")
    lbStudentAddress = JLabel("Address")
    lbStudentAssignTeacher = JLabel("Student Assign teacher  ")

    tfCourseName = JTextField(courseName)
    tfCourseFee = JTextField(str(courseFee))
    tfStudentName = JTextField()
    tfStudentPhone = JTextField()
    tfStudentEmail = JTextField()
    taStudentAddress = JTextArea()
    cbStudentAssignTeacher = JComboBox(v)

    tfCourseName.setEditable(False)
    tfCourseFee.setEditable(False)

    lbCourseName.setBounds(70, 100, 130, 30)
    lbCourseFee.setBounds(70, 150, 130, 30)
    lbStudentName.setBounds(70, 200, 130, 30)
    lbStudentPhone.setBounds(70, 250, 130, 30)
    lbStudentEmail.setBounds(70, 300, 130, 30)
    lbStudentAddress.setBounds(70, 350, 130, 80)
    lbStudentAssignTeacher.setBounds(70, 450, 130, 30)

    tfCourseName.setBounds(220, 100, 130, 30)
    tfCourseFee.setBounds(220, 150, 130, 30)
    tfStudentName.setBounds(220, 200, 130, 30)
    tfStudentPhone.setBounds(220, 250, 130, 30)
    tfStudentEmail.setBounds(220, 300, 130, 30)
    taStudentAddress.setBounds(220, 350, 130, 80)
    cbStudentAssignTeacher.setBounds(220, 450, 130, 30)

    btnEnter = JButton("ADD", actionPerformed=clickAddStudent)
    btnEnter.setBounds(350, 510, 100, 40)

    btnCancel = JButton("Cancel", actionPerformed=clickbtnCancelForm)
    btnCancel.setBounds(50, 510, 100, 40)

    panel.add(heading)
    panel.add(lbCourseName)
    panel.add(lbCourseFee)
    panel.add(lbStudentName)
    panel.add(lbStudentPhone)
    panel.add(lbStudentEmail)
    panel.add(lbStudentAddress)
    panel.add(lbStudentAssignTeacher)
    panel.add(tfCourseName)
    panel.add(tfCourseFee)
    panel.add(tfStudentName)
    panel.add(tfStudentPhone)
    panel.add(tfStudentEmail)
    panel.add(taStudentAddress)
    panel.add(cbStudentAssignTeacher)
    panel.add(btnEnter)
    panel.add(btnCancel)

    frame.add(panel)