gui.cpp

changeset 104
6e29bb0e83c5
parent 103
b0a345196435
child 105
53f95a6e351d
--- a/gui.cpp	Sat Apr 13 02:11:54 2013 +0300
+++ b/gui.cpp	Sun Apr 14 03:54:40 2013 +0300
@@ -1,6 +1,6 @@
 /*
  *  LDForge: LDraw parts authoring CAD
- *  Copyright (C) 2013 Santeri `arezey` Piippo
+ *  Copyright (C) 2013 Santeri Piippo
  *  
  *  This program is free software: you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -79,9 +79,9 @@
 cfg (str, gui_colortoolbar, "16:24:|:0:1:2:3:4:5:6:7");
 extern_cfg (str, io_recentfiles);
 
-// =============================================================================
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-// =============================================================================
+// ========================================================================= //
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+// ========================================================================= //
 ForgeWindow::ForgeWindow () {
 	R = new renderer;
 	
@@ -120,9 +120,9 @@
 	resize (800, 600);
 }
 
-// =============================================================================
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-// =============================================================================
+// ========================================================================= //
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+// ========================================================================= //
 void ForgeWindow::createMenuActions () {
 	// Create the actions based on stored meta.
 	for (actionmeta meta : g_ActionMeta) {
@@ -147,9 +147,9 @@
 	History::updateActions ();
 }
 
-// =============================================================================
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-// =============================================================================
+// ========================================================================= //
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+// ========================================================================= //
 void ForgeWindow::createMenus () {
 	qRecentFilesMenu = new QMenu (tr ("Open &Recent"));
 	qRecentFilesMenu->setIcon (getIcon ("open-recent"));
@@ -225,9 +225,9 @@
 	qHelpMenu->addAction (ACTION_NAME (aboutQt));			// About Qt
 }
 
-// =============================================================================
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-// =============================================================================
+// ========================================================================= //
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+// ========================================================================= //
 void ForgeWindow::updateRecentFilesMenu () {
 	// First, clear any items in the recent files menu
 	for (QAction* qRecent : qaRecentFiles)
@@ -246,9 +246,9 @@
 	}
 }
 
-// =============================================================================
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-// =============================================================================
+// ========================================================================= //
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+// ========================================================================= //
 #define ADD_TOOLBAR_ITEM(ACT) g_CurrentToolBar->addAction (ACTION_NAME (ACT));
 static QToolBar* g_CurrentToolBar;
 static Qt::ToolBarArea g_ToolBarArea = Qt::TopToolBarArea;
@@ -315,27 +315,27 @@
 	updateToolBars ();
 }
 
-// =============================================================================
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-// =============================================================================
+// ========================================================================= //
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+// ========================================================================= //
 std::vector<quickColorMetaEntry> parseQuickColorMeta () {
 	std::vector<quickColorMetaEntry> meta;
 	
 	for (str zColor : gui_colortoolbar.value / ":") {
 		if (zColor == "|") {
-			meta.push_back ({nullptr, nullptr, true});
+			meta.push_back ({null, null, true});
 		} else {
 			color* col = getColor (atoi (zColor));
-			meta.push_back ({col, nullptr, false});
+			meta.push_back ({col, null, false});
 		}
 	}
 	
 	return meta;
 }
 
-// =============================================================================
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-// =============================================================================
+// ========================================================================= //
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+// ========================================================================= //
 void ForgeWindow::updateToolBars () {
 	for (QToolBar* qBar : qaToolBars)
 		qBar->setIconSize (QSize (gui_toolbar_iconsize, gui_toolbar_iconsize));
@@ -367,9 +367,9 @@
 	}
 }
 
-// =============================================================================
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-// =============================================================================
+// ========================================================================= //
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+// ========================================================================= //
 void ForgeWindow::setTitle () {
 	str zTitle = APPNAME_DISPLAY " v" VERSION_STRING;
 	
@@ -389,15 +389,15 @@
 	setWindowTitle (zTitle.chars());
 }
 
-// =============================================================================
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-// =============================================================================
+// ========================================================================= //
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+// ========================================================================= //
 void ForgeWindow::slot_action () {
 	// Get the action that triggered this slot.
 	QAction* qAct = static_cast<QAction*> (sender ());
 	
 	// Find the meta for the action.
-	actionmeta* pMeta = nullptr;
+	actionmeta* pMeta = null;
 	
 	for (actionmeta meta : g_ActionMeta) {
 		if (*meta.qAct == qAct) {
@@ -415,9 +415,9 @@
 	(*pMeta->handler) ();
 }
 
-// =============================================================================
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-// =============================================================================
+// ========================================================================= //
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+// ========================================================================= //
 void ForgeWindow::deleteSelection (vector<ulong>* ulapIndices, std::vector<LDObject*>* papObjects) {
 	vector<LDObject*> objs = getSelectedObjects ();
 	
@@ -436,9 +436,9 @@
 		refresh ();
 }
 
-// =============================================================================
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-// =============================================================================
+// ========================================================================= //
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+// ========================================================================= //
 void ForgeWindow::buildObjList () {
 	if (!g_CurrentFile)
 		return;
@@ -539,7 +539,7 @@
 			break;
 		}
 		
-		QTreeWidgetItem* item = new QTreeWidgetItem ((QTreeWidget*) (nullptr),
+		QTreeWidgetItem* item = new QTreeWidgetItem ((QTreeWidget*) (null),
 			QStringList (zText.chars()), 0);
 		item->setIcon (0, QIcon (str::mkfmt ("icons/%s.png", g_saObjTypeIcons[obj->getType ()]).chars()));
 		
@@ -567,9 +567,9 @@
 	qObjList->insertTopLevelItems (0, qaItems);
 }
 
-// =============================================================================
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-// =============================================================================
+// ========================================================================= //
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+// ========================================================================= //
 void ForgeWindow::slot_selectionChanged () {
 	/*
 	// If the selection isn't 1 exact, disable setting contents
@@ -580,20 +580,20 @@
 	*/
 }
 
-// =============================================================================
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-// =============================================================================
+// ========================================================================= //
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+// ========================================================================= //
 void ForgeWindow::slot_recentFile () {
 	QAction* qAct = static_cast<QAction*> (sender ());
 	openMainFile (qAct->text ());
 }
 
-// =============================================================================
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-// =============================================================================
+// ========================================================================= //
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+// ========================================================================= //
 void ForgeWindow::slot_quickColor () {
 	QPushButton* qBtn = static_cast<QPushButton*> (sender ());
-	color* col = nullptr;
+	color* col = null;
 	
 	for (quickColorMetaEntry entry : quickColorMeta) {
 		if (entry.btn == qBtn) {
@@ -602,7 +602,7 @@
 		}
 	}
 	
-	if (col == nullptr)
+	if (col == null)
 		return;
 	
 	std::vector<ulong> ulaIndices;
@@ -623,9 +623,9 @@
 	refresh ();
 }
 
-// =============================================================================
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-// =============================================================================
+// ========================================================================= //
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+// ========================================================================= //
 ulong ForgeWindow::getInsertionPoint () {
 	ulong ulIndex;
 	
@@ -643,17 +643,17 @@
 	return g_CurrentFile->objects.size();
 }
 
-// =============================================================================
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-// =============================================================================
+// ========================================================================= //
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+// ========================================================================= //
 void ForgeWindow::refresh () {
 	buildObjList ();
 	R->hardRefresh ();
 }
 
-// =============================================================================
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-// =============================================================================
+// ========================================================================= //
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+// ========================================================================= //
 std::vector<LDObject*> ForgeWindow::getSelectedObjects () {
 	std::vector<LDObject*> objs;
 	
@@ -669,14 +669,24 @@
 	return objs;
 }
 
-// =============================================================================
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-// =============================================================================
+// ========================================================================= //
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+// ========================================================================= //
+void ForgeWindow::updateSelection () {
+	buildObjList ();
+	
+	for (LDObject* obj : paSelection)
+		obj->qObjListEntry->setSelected (true);
+}
+
+// ========================================================================= //
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+// ========================================================================= //
 QIcon getIcon (const char* sIconName) {
 	return (QIcon (str::mkfmt ("./icons/%s.png", sIconName)));
 }
 
-// =============================================================================
+// ========================================================================= //
 bool confirm (str zMessage) {
 	return QMessageBox::question (g_ForgeWindow, "Confirm", zMessage,
 		(QMessageBox::Yes | QMessageBox::No), QMessageBox::No) == QMessageBox::Yes;

mercurial