osxtoolbar.cpp

来自「这是VCF框架的代码」· C++ 代码 · 共 278 行

CPP
278
字号
//OSXToolbar.cpp/*Copyright 2000-2004 The VCF Project.Please see License.txt in the top level directorywhere you installed the VCF.*/#include "vcf/ApplicationKit/ApplicationKit.h"#include "vcf/ApplicationKit/ApplicationKitPrivate.h"#include "vcf/ApplicationKit/OSXControl.h"#include "vcf/ApplicationKit/OSXToolbar.h"#include "vcf/ApplicationKit/Toolbar.h"using namespace VCF;OSXToolbar::OSXToolbar(Control* control):	OSXControl(control),	currentlyModifyingItem_(false){}void OSXToolbar::create( Control* control ){		control->getViewModel()->addModelHandler(		new ModelEventHandler<OSXToolbar>( this, &OSXToolbar::onModelChanged, "OSXToolbar::onModelChanged" ) );}void OSXToolbar::setEnableAutoResize( const bool& val ){	}bool OSXToolbar::isAutoResizeEnabled(){		return true;}void OSXToolbar::onModelChanged( ModelEvent* e ){	if ( currentlyModifyingItem_ ) {		return;	}	int index = 0;	switch( e->getType() ) {		case ToolbarItem::tbCaptionChanged : {			ToolbarModelEvent* tme = (ToolbarModelEvent*)e;					}		break;		case ToolbarItem::tbImageIndexChanged : {					}		break;		case ToolbarItem::tbSelected : {		}		break;		case ToolbarItem::tbGroupChanged : {			ToolbarModelEvent* tme = (ToolbarModelEvent*)e;								}		break;		case ToolbarItem::tbCheckChanged : {			ToolbarModelEvent* tme = (ToolbarModelEvent*)e;								}		break;				case ToolbarItem::tbItemControlAdded : {			ToolbarModelEvent* tme = (ToolbarModelEvent*)e;			Control* addedControl = NULL;						currentlyModifyingItem_ = false;		}		break;		case ToolbarItem::tbDimensionsChanged : {			ToolbarModelEvent* tme = (ToolbarModelEvent*)e;					}		break;		case ToolbarItem::tbAdded : {			ToolbarModelEvent* tme = (ToolbarModelEvent*)e;			bool val = ((Toolbar*)control_)->getShowButtonCaptions();					}		break;		case ToolbarItem::tbRemoved : {			ToolbarModelEvent* tme = (ToolbarModelEvent*)e;					}		break;		case ToolbarItem::tbStateChanged : {			ToolbarModelEvent* tme = (ToolbarModelEvent*)e;			long state = tme->getItem()->getState();			if ( state == ToolbarItem::tisSeparator ) {							}			else {				if ( state & ToolbarItem::tisPressed ) {					if ( state & ToolbarItem::tisChecked ) {											}				}								if ( state & ToolbarItem::tisGrouped ) {									}								if ( state & ToolbarItem::tisChecked ) {									}								if ( state & ToolbarItem::tisEnabled ) {									}				else {									}			}					}		break;		case ToolbarItem::tbIndexChanged  : {		}		break;		default : {		}		break;	}}void OSXToolbar::showButtonCaptions( const bool& val ){	control_->setVisible( false );		control_->setVisible( true );}void OSXToolbar::setButtonCaptionPlacementHorizontal( const bool& val ){	if ( currentlyModifyingItem_ ) {		return;	}	currentlyModifyingItem_ = true;	control_->setVisible( false );		control_->setVisible( true );	currentlyModifyingItem_ = false;}void OSXToolbar::setButtonSize( const Size& buttonSize ){	if ( currentlyModifyingItem_ ) {		return;	}	currentlyModifyingItem_ = true;	control_->setVisible( false );		control_->setVisible( true );	currentlyModifyingItem_ = false;}void OSXToolbar::onImageListImageChanged( ImageListEvent* e ){	ImageList* imageList = (ImageList*)e->getSource();	switch ( e->getType() ) {		case IMAGELIST_EVENT_WIDTH_CHANGED : case IMAGELIST_EVENT_HEIGHT_CHANGED :{					}		break;		case IMAGELIST_EVENT_ITEM_ADDED : {					}		break;		case IMAGELIST_EVENT_ITEM_DELETED : {		}		break;	}}void OSXToolbar::setImageList( ImageList* imageList ){	if ( NULL != imageList ) {		control_->setVisible( false );				EventHandler* imgListHandler = getEventHandler( "OSXToolbar::onImageListImageChanged" );				if ( NULL == imgListHandler ) {			imgListHandler =				new ImageListEventHandler<OSXToolbar>(this, &OSXToolbar::onImageListImageChanged, "OSXToolbar::onImageListImageChanged" );		}		imageList->SizeChanged.addHandler( imgListHandler );		imageList->ImageAdded.addHandler( imgListHandler );		imageList->ImageDeleted.addHandler( imgListHandler );		bool val = ((Toolbar*)control_)->getShowButtonCaptions();				control_->setVisible( true );	}}/***CVS Log info*$Log$*Revision 1.2  2005/07/09 23:14:55  ddiego*merging in changes from devmain-0-6-7 branch.**Revision 1.1.2.2  2005/06/23 01:26:55  ddiego*build updates**Revision 1.1.2.1  2005/06/23 00:35:36  ddiego*added osx classes**/

⌨️ 快捷键说明

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