예제 #1
0
void MainWindow::newTab(QWidget *widget, const QString& title)
{
	m_connection->createQuery(widget, "attachQueryContext");

	m_tabs->addTab(widget, title);

	if(qobject_cast<ScriptWidget*>(widget))
		connect(widget, SIGNAL(nameChange(QString)), this, SLOT(tabNameChange(QString)));

	if(m_tabs->count()>1)
		m_tabs->setTabsClosable(true);
	m_tabs->setCurrentWidget(widget);
}
예제 #2
0
void ConnectionListWidget::addConnection(ConnectionUnit *cUnit)
{
    ConnectionWidget *cw = new ConnectionWidget(this,cUnit);
    connectionList.append(cw);
    QListWidgetItem *item = new QListWidgetItem;
    listWidget->addItem(item);
    listWidget->setItemWidget(item,cw);
    item->setSizeHint(cw->sizeHint());

    connect(cw,SIGNAL(nameChange()),this,SLOT(nameChanged()));
    connect(cw,SIGNAL(widgetRemoved()),this,SLOT(connectionRemoved()));
    connect(cw,SIGNAL(sizeChange(QSize)),this,SLOT(sizeChanged(QSize)));
    updateList();
}
예제 #3
0
void ConnectionListWidget::newConnection()
{
    ConnectionUnit *connectionUnit = new ConnectionUnit;
    connectionUnit->setName(newConnectionName());
    connections->append(connectionUnit);

    ConnectionWidget *connWidget = new ConnectionWidget(this, connectionUnit);
    connectionList.append(connWidget);

    QListWidgetItem *item = new QListWidgetItem;
    listWidget->addItem(item);
    listWidget->setItemWidget(item,connWidget);
    item->setSizeHint(connWidget->sizeHint());

    connect(connWidget,SIGNAL(nameChange()),this,SLOT(nameChanged()));
    connect(connWidget,SIGNAL(widgetRemoved()),this,SLOT(connectionRemoved()));
    connect(connWidget,SIGNAL(sizeChange(QSize)),this,SLOT(sizeChanged(QSize)));
    updateList();
}
예제 #4
0
void ConnectionListWidget::addConnection(QString name, int connType, QString address, QString port)
{
    ConnectionUnit *cUnit  = new ConnectionUnit;
    cUnit->setName(name);
    cUnit->setType((connectionType) connType);
    cUnit->setAddress_Port(address);
    cUnit->setPort_Baud(port.toLong());
    connections->append(cUnit);

    ConnectionWidget *connWidget = new ConnectionWidget(this,cUnit);
    connectionList.append(connWidget);

    QListWidgetItem *item = new QListWidgetItem;
    listWidget->addItem(item);
    listWidget->setItemWidget(item,connWidget);
    item->setSizeHint(connWidget->sizeHint());

    connect(connWidget,SIGNAL(nameChange()),this,SLOT(nameChanged()));
    connect(connWidget,SIGNAL(widgetRemoved()),this,SLOT(connectionRemoved()));
    connect(connWidget,SIGNAL(sizeChange(QSize)),this,SLOT(sizeChanged(QSize)));
    updateList();
}
예제 #5
0
IdfObjectWatcher::IdfObjectWatcher(const IdfObject& idfObject)
  : m_enabled(true), m_dirty(false), m_dataChanged(false), m_nameChanged(false)
{
  // make sure a QApplication exists
  openstudio::Application::instance().application();
  
  detail::IdfObject_ImplPtr objectImpl = idfObject.getImpl<openstudio::detail::IdfObject_Impl>();
  bool connected = this->connect(objectImpl.get(), SIGNAL(onChange()), SLOT(change()));
  connected = connected && this->connect(objectImpl.get(), SIGNAL(onDataChange()), SLOT(dataChange()));
  connected = connected && this->connect(objectImpl.get(), SIGNAL(onNameChange()), SLOT(nameChange()));
  
  OS_ASSERT(connected);
}
예제 #6
0
MainWindow::MainWindow(db::Connection *connection, QWidget *parent)
	: KXmlGuiWindow(parent), m_connection(connection), m_querytabs(0)
{
	setAttribute(Qt::WA_DeleteOnClose, true);
	setWindowIcon(QIcon::fromTheme("kquerybrowser"));
	nameChange(connection->name());
	setupActions();

	connect(connection, &db::Connection::nameChanged, this, &MainWindow::nameChange);
	connect(connection, &db::Connection::newScript, this, &MainWindow::newScriptTab);
	connect(this, &QObject::destroyed, m_connection, &QObject::deleteLater);

	// Create tabs for query and script widgets. This is the central widget
	m_tabs = new QTabWidget();
	setCentralWidget(m_tabs);
	m_tabs->setMovable(true);
	connect(m_tabs, &QTabWidget::tabCloseRequested, this, &MainWindow::closeTab);
	connect(m_tabs, &QTabWidget::currentChanged, this, &MainWindow::currentTabChanged);
	connect(m_tabs, &QTabWidget::tabBarDoubleClicked, this, &MainWindow::renameQueryTab);

	newQueryTab();

	// Create the table list dock widget
	TableListWidget *tablelist = new TableListWidget(m_connection, this);
	tablelist->setObjectName("tablelist");
	tablelist->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
	addDockWidget(Qt::RightDockWidgetArea, tablelist);
	connect(m_connection, &db::Connection::dbStructure, tablelist, &TableListWidget::refreshTree);
	connect(tablelist, &TableListWidget::runQuery, this, &MainWindow::runQuery);
	m_connection->getDbStructure();

	QAction *showtables = actionCollection()->action("showtables");
	connect(tablelist, SIGNAL(visibilityChanged(bool)), showtables, SLOT(setChecked(bool)));
	connect(showtables, SIGNAL(triggered(bool)), tablelist, SLOT(setVisible(bool)));

	// Create the database list dock widget
	DatabaseListWidget *dblist = new DatabaseListWidget(m_connection, this);
	dblist->setObjectName("databaselist");
	dblist->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
	addDockWidget(Qt::RightDockWidgetArea, dblist);
	connect(m_connection, &db::Connection::dbList, dblist, &DatabaseListWidget::refreshList);
	m_connection->getDbList();

	QAction *showdbs = actionCollection()->action("showdatabases");
	connect(dblist, SIGNAL(visibilityChanged(bool)),
			showdbs, SLOT(setChecked(bool)));
	connect(showdbs, SIGNAL(triggered(bool)),
			dblist, SLOT(setVisible(bool)));
	connect(dblist, &DatabaseListWidget::newConnection, this, &MainWindow::newDbConnection);

	readSettings();

	// Set up XML GUI
	setupGUI(Default, ":ui/kquerybrowserui.rc");

	QMenu *bmmenu = findChild<QMenu*>("bookmarks");
	if(!bmmenu) {
		qWarning("Bookmark menu not present!");
	} else {
		KBookmarkMenu *bmm = new KBookmarkMenu(
				Bookmarks::manager(),
				this,
				bmmenu,
				actionCollection());
		// Note. bookmark menu parent is not set automatically.
		// (This weird behavior can't be fixed without breaking konqueror
		// and possibly some other apps. It will probably be fixed in KDE5)
		bmm->setParent(bmmenu);
	}
}
예제 #7
0
파일: People.cpp 프로젝트: RuanJG/qcopter
void People::setName(QString name)
{
    gName = name;
    qDebug() << "setName ...";
    emit nameChange();
}