Add cv_gtk3 package.

This commit is contained in:
luxick
2018-02-17 15:12:59 +01:00
parent 17e3e0ffe4
commit f1485db748
82 changed files with 2911 additions and 6 deletions

48
cv_gtk3/main_window.py Normal file
View File

@@ -0,0 +1,48 @@
from cv_gtk3.setting import GUISettings
class MainWindowFunctions:
"""
Class for holding general functions of the main window container
such as controlling the status and menu bar .
"""
def __init__(self, ui):
self.ui = ui
def hide_initial_widgets(self):
self.ui.get_object('statusbar_spinner').set_visible(False)
self.ui.get_object('statusbar_label').set_visible(False)
def show_status(self, message):
"""
Display a massage in the status bar alon with an animated spinner
:param message: The text to display
"""
spinner = self.ui.get_object('statusbar_spinner')
label = self.ui.get_object('statusbar_label')
spinner.set_visible(True)
label.set_visible(True)
label.set_text(message)
def clear_status(self):
"""
Hides the message an spinner in the status bar
"""
self.ui.get_object('statusbar_spinner').set_visible(False)
self.ui.get_object('statusbar_label').set_visible(False)
def switch_page(self, page):
"""
Switch active page
:param page: name of the new page
"""
container = self.ui.get_object("contentPage")
new_page = GUISettings.pages[page]
if GUISettings.current_page:
container.remove(GUISettings.current_page)
GUISettings.current_page = new_page
container.pack_start(GUISettings.current_page, True, True, 0)
container.show_all()
GUISettings.current_page.emit('show')
app_title = GUISettings.current_page.get_name() + " - " +GUISettings.application_title
self.ui.get_object("mainWindow").set_title(app_title)