⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 groupeditorwidget.cpp

📁 GPS Manager is a GUI for downloading, organizing, maintaining, and uploading GPS data (i.e. tracks,
💻 CPP
字号:
/*gpsmgr: A program for managing GPS informationCopyright (C) 2003 Austin BinghamThis program is free software; you can redistribute it and/ormodify it under the terms of the GNU General Public Licenseas published by the Free Software Foundation; either version 2of the License, or (at your option) any later version.This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with this program; if not, write to the Free SoftwareFoundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.You can reach the author at:    abingham@spamcop.net*/#include "groupEditorWidget.h"#include <qlineedit.h>#include <qlistbox.h>namespace gpsmgr{    GroupEditorWidget::GroupEditorWidget(QWidget* parent,					 const char* name,					 WFlags fl) :	GroupEditorWidgetBase (parent, name, fl)    {	    }    void GroupEditorWidget::addAvailableGroup(const std::string& group)    {	if (haveAvailableGroup(group) ||	    haveAssignedGroup(group))	    return;	mAllGroups.insert(group);	new QListBoxText(mAvailableList, group);    }    void GroupEditorWidget::addAssignedGroup(const std::string& group)    {	if (QListBoxItem* item = haveAvailableGroup(group))	{	    mAvailableList->takeItem(item);	    mAssignedList->insertItem(item);	}	else if (!haveAssignedGroup(group))	{	    mAllGroups.insert(group);	    new QListBoxText(mAssignedList, group);	}    }    void GroupEditorWidget::reset()    {	mAssignedList->clear();	mAvailableList->clear();	for (set<string>::const_iterator itr = mAllGroups.begin();	     itr != mAllGroups.end();	     ++itr)	{	    new QListBoxText(mAvailableList, *itr);	}    }    void GroupEditorWidget::reset(const GroupObject& go)    {	reset();	addAssignedGroups(go.groupsBegin(), go.groupsEnd());    }    void GroupEditorWidget::updateGroupObject(GroupObject& go)	    {		go.clearGroups();		for (unsigned int idx = 0; idx < mAssignedList->count(); ++idx)		{		    go.addGroup(mAssignedList->text(idx));		}	    }        void GroupEditorWidget::assignGroup()    {	QListBoxItem* item = mAvailableList->selectedItem();	if (item)	{	    mAvailableList->setSelected(item, false);	    mAvailableList->takeItem(item);	    mAssignedList->insertItem(item);	    mAssignedList->setSelected(item, true);	}    }        void GroupEditorWidget::unassignGroup()    {	QListBoxItem* item = mAssignedList->selectedItem();	if (item)	{	    mAssignedList->setSelected(item, false);	    mAssignedList->takeItem(item);	    mAvailableList->insertItem(item);	    mAvailableList->setSelected(item ,true);	}	    }        void GroupEditorWidget::addNewGroup()    {	addAssignedGroup(mNewGroupEdit->text());    }        QListBoxItem* GroupEditorWidget::haveAvailableGroup(const std::string& group) const    {	for (unsigned int idx = 0;	     idx < mAvailableList->count();	     ++idx)	{	    if (mAvailableList->text(idx) == group)		return mAvailableList->item(idx);	}		return NULL;	    }        QListBoxItem* GroupEditorWidget::haveAssignedGroup(const std::string& group) const    {	for (unsigned int idx = 0;	     idx < mAssignedList->count();	     ++idx)	{	    if (mAssignedList->text(idx) == group)		return mAssignedList->item(idx);	}		return NULL;    }    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -