GHOST_TSuccess GHOST_System::exit() { if (getFullScreen()) { endFullScreen(); } if (m_displayManager) { delete m_displayManager; m_displayManager = 0; } if (m_windowManager) { delete m_windowManager; m_windowManager = 0; } if (m_timerManager) { delete m_timerManager; m_timerManager = 0; } if (m_eventManager) { delete m_eventManager; m_eventManager = 0; } if (m_ndofManager) { delete m_ndofManager; m_ndofManager = 0; } return GHOST_kSuccess; }
GHOST_TSuccess GHOST_System::exit() { if (getFullScreen()) { endFullScreen(); } delete m_displayManager; m_displayManager = NULL; delete m_windowManager; m_windowManager = NULL; delete m_timerManager; m_timerManager = NULL; delete m_eventManager; m_eventManager = NULL; #ifdef WITH_INPUT_NDOF delete m_ndofManager; m_ndofManager = NULL; #endif return GHOST_kSuccess; }
// Alternate fullscreen mode/windowed mode if possible void StelMainWindow::toggleFullScreen() { // Toggle full screen if (getFullScreen()) { setFullScreen(false); } else { setFullScreen(true); } }
GHOST_TSuccess GHOST_WindowManager::beginFullScreen(GHOST_IWindow *window, bool /*stereoVisual*/) { GHOST_TSuccess success = GHOST_kFailure; GHOST_ASSERT(window, "GHOST_WindowManager::beginFullScreen(): invalid window"); GHOST_ASSERT(window->getValid(), "GHOST_WindowManager::beginFullScreen(): invalid window"); if (!getFullScreen()) { m_fullScreenWindow = window; m_activeWindowBeforeFullScreen = getActiveWindow(); setActiveWindow(m_fullScreenWindow); m_fullScreenWindow->beginFullScreen(); success = GHOST_kSuccess; } return success; }
bool GHOST_WindowManager::getWindowFound(const GHOST_IWindow *window) const { bool found = false; if (window) { if (getFullScreen() && (window == m_fullScreenWindow)) { found = true; } else { std::vector<GHOST_IWindow *>::const_iterator result = find(m_windows.begin(), m_windows.end(), window); if (result != m_windows.end()) { found = true; } } } return found; }
GHOST_TSuccess GHOST_WindowManager::endFullScreen(void) { GHOST_TSuccess success = GHOST_kFailure; if (getFullScreen()) { if (m_fullScreenWindow != NULL) { //GHOST_PRINT("GHOST_WindowManager::endFullScreen(): deleting full-screen window\n"); setWindowInactive(m_fullScreenWindow); m_fullScreenWindow->endFullScreen(); delete m_fullScreenWindow; //GHOST_PRINT("GHOST_WindowManager::endFullScreen(): done\n"); m_fullScreenWindow = NULL; if (m_activeWindowBeforeFullScreen) { setActiveWindow(m_activeWindowBeforeFullScreen); } } success = GHOST_kSuccess; } return success; }
/* this is an old style low level event queue. * As we want to handle our own timers, this is ok. * the full screen hack should be removed */ bool GHOST_SystemCarbon::processEvents(bool waitForEvent) { bool anyProcessed = false; EventRef event; // SetMouseCoalescingEnabled(false, NULL); do { GHOST_TimerManager *timerMgr = getTimerManager(); if (waitForEvent) { GHOST_TUns64 next = timerMgr->nextFireTime(); double timeOut; if (next == GHOST_kFireTimeNever) { timeOut = kEventDurationForever; } else { timeOut = (double)(next - getMilliSeconds()) / 1000.0; if (timeOut < 0.0) timeOut = 0.0; } ::ReceiveNextEvent(0, NULL, timeOut, false, &event); } if (timerMgr->fireTimers(getMilliSeconds())) { anyProcessed = true; } if (getFullScreen()) { // Check if the full-screen window is dirty GHOST_IWindow *window = m_windowManager->getFullScreenWindow(); if (((GHOST_WindowCarbon *)window)->getFullScreenDirty()) { pushEvent(new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowUpdate, window) ); anyProcessed = true; } } /* end loop when no more events available */ while (::ReceiveNextEvent(0, NULL, 0, true, &event) == noErr) { OSStatus status = ::SendEventToEventTarget(event, ::GetEventDispatcherTarget()); if (status == noErr) { anyProcessed = true; } else { UInt32 i = ::GetEventClass(event); /* Ignore 'cgs ' class, no documentation on what they * are, but we get a lot of them */ if (i != 'cgs ') { if (i != 'tblt') { // tablet event. we use the one packaged in the mouse event ; //printf("Missed - Class: '%.4s', Kind: %d\n", &i, ::GetEventKind(event)); } } } ::ReleaseEvent(event); } } while (waitForEvent && !anyProcessed); return anyProcessed; }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { GlobalCache *globalCache = new GlobalCache(); loginStatus = false; updateTimer = startTimer(100); QTimerEvent *e= new QTimerEvent(updateTimer); setWindowTitle("#precIsioN Billing Software 1.2"); /* Setting height and width properties */ QDesktopWidget *desktop = QApplication::desktop(); int width = desktop->width(); int height = desktop->height(); GlobalCache::setScreenWidth(width); GlobalCache::setScreenHeight(height); resize(width/2, height/2); int sideWidth = 10; //width/48; int sideHeight = (height-50)/14; widgetWidth = width - 20; //sideWidth *46; widgetHeight = sideHeight * 14; /* Creating menu bar and status bar */ menubar = new QMenuBar(this); setMenuBar(menubar); menuAdministrator = new QMenu(menubar); menuAdministrator->setTitle("Administrator"); menubar->addMenu(menuAdministrator); QAction *homeAct = new QAction(("&Home"), this); homeAct->setShortcut(QKeySequence(tr("Ctrl+H"))); menuAdministrator->addAction(homeAct); menuAdministrator->addSeparator(); QAction *changePasswordAct = new QAction("Change Password", this); menuAdministrator->addAction(changePasswordAct); QAction *refreshAct = new QAction(("&Refresh"), this); refreshAct->setShortcut(QKeySequence(tr("Ctrl+R"))); menuAdministrator->addAction(refreshAct); QAction *fullScreenAct = new QAction(("&Full Screen"), this); fullScreenAct->setShortcut(Qt::Key_F11); menuAdministrator->addAction(fullScreenAct); QAction *restartAct = new QAction("Restart", this); restartAct->setShortcut(QKeySequence((tr("Shift+Ctrl+X")))); menuAdministrator->addAction(restartAct); QAction *quitAct = new QAction(("Quit Application"), this); quitAct->setShortcut(QKeySequence(tr("Ctrl+X"))); menuAdministrator->addAction(quitAct); menuStock = new QMenu(menubar); menuStock->setTitle("Stock"); menubar->addMenu(menuStock); QAction *manageStockAct = new QAction(("Manage Stock"), this); manageStockAct->setShortcut(QKeySequence(tr("Ctrl+M"))); menuStock->addAction(manageStockAct); QAction *bulkStockUpdationAct = new QAction("Bulk Stock Updation", this); bulkStockUpdationAct->setShortcut(QKeySequence(tr("Ctrl+U"))); menuStock->addAction(bulkStockUpdationAct); menuStock->addSeparator(); QAction *stockPruchaseInvoiceAct = new QAction(("Stock Purchase Invoice"), this); menuStock->addAction(stockPruchaseInvoiceAct); QAction *oldStockPurchaseInvoiceAct = new QAction(("Old Stock Purchase Invoice"), this); menuStock->addAction(oldStockPurchaseInvoiceAct); menuStock->addSeparator(); QAction *stockUpdationAct = new QAction(("Single Stock Updation"), this); menuStock->addAction(stockUpdationAct); menuStock->addSeparator(); QAction *addNewStockAct = new QAction(("Add New Stock"), this); menuStock->addAction(addNewStockAct); QAction *deleteStockact = new QAction(("Remove Stock"), this); menuStock->addAction(deleteStockact); QAction *updateStockAct = new QAction(("Edit Stock Details"), this); menuStock->addAction(updateStockAct); menuStock->addSeparator(); QAction *checkStockAct = new QAction("Check Stock", this); checkStockAct->setShortcut(QKeySequence("Ctrl+F")); menuStock->addAction(checkStockAct); menuInvoice = new QMenu(menubar); menuInvoice->setTitle("Invoice"); menubar->addMenu(menuInvoice); QAction *invoiceAct = new QAction(("&New Invoice"), this); invoiceAct->setShortcut(QKeySequence(tr("Ctrl+N"))); menuInvoice->addAction(invoiceAct); QAction *setInvoiceAct = new QAction(("Set Invoice No"), this); menuInvoice->addAction(setInvoiceAct); QAction *cancelInvoiceAct = new QAction(("Cancel Invoice"), this); menuInvoice->addAction(cancelInvoiceAct); QAction *oldInvoiceAct = new QAction(("Old Invoices"), this); menuInvoice->addAction(oldInvoiceAct); menuEstimate = new QMenu(menubar); menuEstimate->setTitle("Estimate"); menubar->addMenu(menuEstimate); QAction *estimateAct = new QAction(("&New Estimate"), this); estimateAct->setShortcut(QKeySequence(tr("Ctrl+E"))); menuEstimate->addAction(estimateAct); QAction *setEstimateAct = new QAction(("Set Estimate No"), this); menuEstimate->addAction(setEstimateAct); QAction *cancelEstimateAct = new QAction(("Cancel Estimate"), this); menuEstimate->addAction(cancelEstimateAct); QAction *oldEstimateAct = new QAction(("Old Estimates"), this); menuEstimate->addAction(oldEstimateAct); menuEstimate->addSeparator(); QAction *itemEstimateAct = new QAction("Item Estimates", this); menuEstimate->addAction(itemEstimateAct); menuDealer = new QMenu(menubar); menuDealer->setTitle("Dealer"); // menubar->addMenu(menuDealer); QAction *dealerHomeAct = new QAction(("&Dealer Home"), this); dealerHomeAct->setShortcut(QKeySequence(tr("Ctrl+D"))); menuDealer->addAction(dealerHomeAct); QAction *salesDetailsAct = new QAction(("Sales De&tais"), this); salesDetailsAct->setShortcut(QKeySequence(tr("Ctrl+T"))); menuDealer->addAction(salesDetailsAct); QAction *addNewDealerAct = new QAction(("Add New Dealer"), this); menuDealer->addAction(addNewDealerAct); QAction *deleteDealerAct = new QAction(("Delete Dealer"), this); menuDealer->addAction(deleteDealerAct); QAction *updateDealerAct = new QAction(("Edit Dealer Details"), this); menuDealer->addAction(updateDealerAct); menuAccounts = new QMenu(menubar); menuAccounts->setTitle("Accounts"); menubar->addMenu(menuAccounts); QAction *accountsAct = new QAction(("Accounts"), this); accountsAct->setShortcut(QKeySequence(tr("Ctrl+A"))); menuAccounts->addAction(accountsAct); menuReports = new QMenu(menubar); menuReports->setTitle("Reports"); menubar->addMenu(menuReports); QAction *todaysItemSalesAct = new QAction(("Today's &Item Sales"), this); todaysItemSalesAct->setShortcut(QKeySequence(tr("Ctrl+I"))); menuReports->addAction(todaysItemSalesAct); QAction *dailyReportAct = new QAction(("Daily Sales &Report"), this); dailyReportAct->setShortcut(QKeySequence(tr("Ctrl+R"))); menuReports->addAction(dailyReportAct); QAction *itemSalesReportAct = new QAction("Selected Item Sales Report", this); menuReports->addAction(itemSalesReportAct); QAction *historyItemSalesAct = new QAction(("History Item Sales"), this); menuReports->addAction(historyItemSalesAct); menuReports->addSeparator(); QAction *purchaseReportAct = new QAction("Purchase Report", this); menuReports->addAction(purchaseReportAct); QAction *purchaseItemsAct = new QAction("Purchased Item Report", this); menuReports->addAction(purchaseItemsAct); menuSettings = new QMenu(menubar); menuSettings->setTitle("Settings"); menubar->addMenu(menuSettings); QAction *configurationAct = new QAction(("Configure Product"), this); menuSettings->addAction(configurationAct); QAction *deleteDataAct = new QAction("Clear Data", this); menuSettings->addAction(deleteDataAct); QAction *backupAct = new QAction(("Backup"), this); menuSettings->addAction(backupAct); menuHelp = new QMenu(menubar); menuHelp->setTitle("Help"); menubar->addMenu(menuHelp); QAction *shortcutAct = new QAction(("Shorcuts Used"), this); menuHelp->addAction(shortcutAct); QAction *aboutAct = new QAction(("About"), this); menuHelp->addAction(aboutAct); adminHome = new AdminHomeWidget(widgetWidth, this); adminHome->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); manageStock = new ManageStockWidget(widgetWidth, this); manageStock->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); purchaseInvoice = new StockPurchaseInvoiceWidget(widgetWidth, this); purchaseInvoice->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); oldPurchaseInvoice = new OldPurchaseInvoiceWidget(widgetWidth, this); oldPurchaseInvoice->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); invoice = new InvoiceWidget(widgetWidth, this); invoice->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); dailyReport = new DailySalesReportWidget(widgetWidth, this); dailyReport->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); itemSales = new TodaysItemSalesWidget(widgetWidth, this); itemSales->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); oldInvoice = new OldInvoicesWidget(widgetWidth, this); oldInvoice->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); allInvoices = new AllInvoices(widgetWidth, this); allInvoices->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); oldEstimate = new OldEstimates(widgetWidth, this); oldEstimate->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); itemEstimate = new ItemEstimateWidget(widgetWidth, this); itemEstimate->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); estimate = new EstimateWidget(widgetWidth, this); estimate->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); salesDetails = new SalesDetailsWidget(widgetWidth, this); salesDetails->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); accounts = new AccountsWidget(widgetWidth, this); accounts->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); purchaseReport = new PurchaseReportWidget(widgetWidth, this); purchaseReport->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); purchasedItems = new PurchasedItemWidget(widgetWidth, this); purchasedItems->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); historyDsr = new HistoryDSRWidget(widgetWidth, this); historyDsr->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); historyItemSales = new HistoryItemSalesWidget(widgetWidth, this); historyItemSales->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); historyinvoice = new HistoryInvoiceWidget(widgetWidth, this); historyinvoice->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); /* Main Window setup */ connect( homeAct, SIGNAL(triggered()), this, SLOT(getAdminHome())); connect( todaysItemSalesAct, SIGNAL(triggered()), this, SLOT(getItemSales())); connect( dailyReportAct, SIGNAL(triggered()), this, SLOT(getDailySalesReport())); connect( itemSalesReportAct, SIGNAL(triggered()), this, SLOT(getItemSalesReport())); connect( bulkStockUpdationAct, SIGNAL(triggered()), this, SLOT(getBulkStockUpdationDialog())); connect( stockUpdationAct, SIGNAL(triggered()), this, SLOT(getStockUpdationDialog())); connect( addNewStockAct, SIGNAL(triggered()), this, SLOT(getAddNewStockDialog())); connect( deleteStockact, SIGNAL(triggered()), this, SLOT(getDeleteStockDialog())); connect( updateStockAct, SIGNAL(triggered()), this, SLOT(getUpdateStockDialog())); connect( checkStockAct, SIGNAL(triggered()), this, SLOT(getCheckStockDialog())); connect( changePasswordAct, SIGNAL(triggered()), this, SLOT(getChangePasswordDialog())); connect( refreshAct, SIGNAL(triggered()), this, SLOT(refresh())); connect( fullScreenAct, SIGNAL(triggered()), this, SLOT(getFullScreen())); connect( restartAct, SIGNAL(triggered()), this, SLOT(restart())); connect( quitAct, SIGNAL(triggered()), qApp, SLOT(quit())); connect( manageStockAct, SIGNAL(triggered()), this, SLOT(getManageStockWidget())); connect( stockPruchaseInvoiceAct, SIGNAL(triggered()), this, SLOT(getStockPurchaseInvoice())); connect( oldStockPurchaseInvoiceAct, SIGNAL(triggered()), this, SLOT(getOldStockPurchaseInvoice())); connect( invoiceAct, SIGNAL(triggered()), this, SLOT(getInvoice())); connect( setInvoiceAct, SIGNAL(triggered()), this, SLOT(getSetInvoiceDialog())); connect( cancelInvoiceAct, SIGNAL(triggered()), this, SLOT(cancelInvoice())); connect( oldInvoiceAct, SIGNAL(triggered()), this, SLOT(getOldInvoice())); connect( estimateAct, SIGNAL(triggered()), this, SLOT(getEstimate())); connect( setEstimateAct, SIGNAL(triggered()), this, SLOT(getSetEstimateDialog())); connect( cancelEstimateAct, SIGNAL(triggered()), this, SLOT(cancelEstimate())); connect( oldEstimateAct, SIGNAL(triggered()), this, SLOT(getOldEstimates())); connect( itemEstimateAct, SIGNAL(triggered()), this, SLOT(getItemEstimate())); connect( salesDetailsAct, SIGNAL(triggered()), this, SLOT(getSalesDetails())); connect( accountsAct, SIGNAL(triggered()), this, SLOT(getAccountsWidget())); connect( purchaseReportAct, SIGNAL(triggered()), this, SLOT(getPurchaseReport())); connect( purchaseItemsAct, SIGNAL(triggered()), this, SLOT(getPurchasedItems())); connect( historyItemSalesAct, SIGNAL(triggered()), this, SLOT(getHistoryItemSales())); connect( configurationAct, SIGNAL(triggered()), this, SLOT(getConfiguration())); connect( deleteDataAct, SIGNAL(triggered()), this, SLOT(getDeleteDataAct())); connect( backupAct, SIGNAL(triggered()), this, SLOT(getBackup())); connect( shortcutAct, SIGNAL(triggered()), this, SLOT(shortcuts())); connect( aboutAct, SIGNAL(triggered()), this, SLOT(about())); connect( qApp, SIGNAL(lastWindowClosed()), qApp, SLOT(quit())); hideAllWidgets(); showMinimized(); }