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

📄 control.cpp

📁 这是VCF框架的代码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
	else {		controlState_  &= ~Control::csEnabled;	}	if ( ! isDesigning() ) {		peer_->setEnabled( enabled );	}	repaint();}void Control::mouseEnter( MouseEvent* event ){}void Control::mouseDown( MouseEvent* event ){	setFocused();}void Control::mouseMove( MouseEvent* event ){	//probably want to put a modifier here for the scrollable to modify the coords ?}void Control::mouseUp( MouseEvent* event ){}void Control::mouseLeave( MouseEvent* event ){}void Control::keyDown( KeyboardEvent* event ){}void Control::mouseClick(  MouseEvent* event ){}void Control::mouseDblClick(  MouseEvent* event ){}void Control::keyPressed( KeyboardEvent* event ){}void Control::keyUp( KeyboardEvent* event ){}void Control::sizeChange( ControlEvent* event ){}void Control::positionChange( ControlEvent* event ){}void Control::parentChange( ControlEvent* event ){}void Control::gotFocus( FocusEvent* event ){}void Control::lostFocus( FocusEvent* event ){}void Control::translateToParent( Point* point ){	Control* parent = getParent();	if ( NULL != parent ){		Rect bounds = parent->getBounds();		point->x_ += bounds.left_;		point->y_ += bounds.top_;	}	else{		//throw exception ?	}}void Control::translateToLocal( Point* point ){	Control* parent = getParent();	if ( NULL != parent ){		Rect bounds = getBounds();		point->x_ -= bounds.left_;		point->y_ -= bounds.top_;	}	else{		//throw exception ?	}}void Control::beforeDestroy( ComponentEvent* event ){	Component::beforeDestroy( event );}bool Control::isLightWeight(){	return false;}Control* Control::getHeavyweightParent(){	Control* parent = NULL;	Control* result = NULL;	result = getParent();	if ( result != NULL ) {		while ( true == result->isLightWeight() ){			parent = result;			result = parent->getParent();		}	}	return result;}Color* Control::getColor(){	return color_;}void Control::setColor( Color* color ){	color_->copy( color );	if ( (isNormal() || isDesigning()) && (NULL != peer_) ) {		repaint();	}}Font* Control::getFont(){	return font_;}void Control::setFont( Font* font ){	if ( NULL != font ){		font_->copy( font );	}		peer_->setFont( font_ );}bool Control::useParentFont(){	return (controlState_ & Control::csUseParentFont) ? true : false;}void Control::setUseParentFont( const bool& useParentFont ){	if ( useParentFont ) {		controlState_  |= Control::csUseParentFont;	}	else {		controlState_  &= ~Control::csUseParentFont;	}}void Control::afterCreate( ComponentEvent* event ){		}void Control::repaint( Rect* repaintRect ){		peer_->repaint( repaintRect, false );	if ( isUsingRenderBuffer() ) {		context_->markRenderAreaDirty();	}}void Control::repaintNow( Rect* repaintRect ){	peer_->repaint( repaintRect, true );	if ( isUsingRenderBuffer() ) {		context_->markRenderAreaDirty();	}}bool Control::isDoubleBuffered(){	return (controlState_ & Control::csDoubleBuffered) ? true : false;}void Control::setDoubleBuffered( const bool& doubleBuffered ){	if ( doubleBuffered ) {		controlState_  |= Control::csDoubleBuffered;	}	else {		controlState_  &= ~Control::csDoubleBuffered;	}}void Control::keepMouseEvents(){	controlState_  |= Control::csHasMouseCapture;	Control::setCapturedMouseControl( this );	peer_->keepMouseEvents();}void Control::releaseMouseEvents(){	controlState_  &= ~Control::csHasMouseCapture;	Control::setCapturedMouseControl( NULL );	peer_->releaseMouseEvents();}Control* Control::getCapturedMouseControl(){	return Control::capturedMouseControl;}void Control::setCapturedMouseControl( Control* control ){	Control::capturedMouseControl = control;}GraphicsContext* Control::getContext(){	return context_;}PopupMenu* Control::getPopupMenu(){	return popupMenu_;}void Control::setPopupMenu( PopupMenu* popupMenu ){	if ( NULL != popupMenu_ ){		popupMenu_->setControl( NULL );	}	popupMenu_ = popupMenu;	if ( NULL != popupMenu_ ){		popupMenu_->setControl( this );	}}View* Control::getView(){	return view_;}void Control::setView( View* view ){	if ( NULL != view_ ) {		Object* obj = dynamic_cast<Object*>( view_ );		if ( NULL != obj ) {			obj->release();		}	}	view_ = view;	if ( NULL != view_ ) {		view_->setViewControl( this );		Object* obj = dynamic_cast<Object*>( view_ );		if ( NULL != obj ) {			obj->addRef();		}	}}void Control::setScrollable( Scrollable* scrollable ){	scrollable_ = scrollable;	if ( NULL != scrollable_ ) {		scrollable_->setScrollableControl( this );		scrollable_->recalcScrollPositions();	}}void Control::setToolTipText( const String& tooltip ){	toolTip_ = tooltip;}void Control::setCursorID( const long& cursorID ){	cursorID_ = cursorID;	cursor_ = CursorManager::getCursorManager()->getCursor( cursorID_ );}void Control::setAnchor( const unsigned long& anchor ){	anchor_ = anchor;	aligment_ = AlignNone;	updateAnchorDeltas();	Control* parent = getParent();	if ( NULL != parent ){		Container* container = parent->getContainer();		if ( NULL != container ){			container->resizeChildren(NULL);//this);		}	}}void Control::updateAnchorDeltas() {	if ( AnchorNone == anchor_ ) {		anchorDeltas_[ANCHOR_DTOP] = 0.0f;		anchorDeltas_[ANCHOR_DLEFT] = 0.0f;		anchorDeltas_[ANCHOR_DBOTTOM] = 0.0f;		anchorDeltas_[ANCHOR_DRIGHT] = 0.0f;	}	else {		Control* parent = getParent();		if ( NULL != parent ) {			Rect parentBounds = parent->getClientBounds();			Rect bounds = getBounds();			anchorDeltas_[ANCHOR_DTOP] = (float) bounds.top_;			anchorDeltas_[ANCHOR_DLEFT] = (float) bounds.left_;			anchorDeltas_[ANCHOR_DBOTTOM] = (float) parentBounds.bottom_ -  bounds.bottom_;			anchorDeltas_[ANCHOR_DRIGHT] = (float) parentBounds.right_ -  bounds.right_;		}	}}AcceleratorKey* Control::getAccelerator( const VirtualKeyCode& keyCode, const ulong32& modifierMask ){	return UIToolkit::getAccelerator( keyCode, modifierMask, this );}void Control::addAcceleratorKey( const VirtualKeyCode& keyCode, const ulong32& modifierMask, EventHandler* eventHandler ){	if ( NULL == eventHandler ) {		throw InvalidPointerException( MAKE_ERROR_MSG_2("The Event handler passed in for the accelerator is NULL!") );	}	AcceleratorKey* newAccelKey = new AcceleratorKey( this, keyCode, modifierMask, eventHandler );	addAcceleratorKey( newAccelKey );}void Control::addAcceleratorKey( const VirtualKeyCode& keyCode, const ulong32& modifierMask, Action* action ){	if ( NULL == action ) {		throw InvalidPointerException( MAKE_ERROR_MSG_2("The action instance passed in for the accelerator is NULL!") );	}	addAcceleratorKey( keyCode, modifierMask, action->getAcceleratorEventHandler() );}void Control::addAcceleratorKey( AcceleratorKey* accelerator ){	UIToolkit::registerAccelerator( accelerator );}void Control::setTabStop( const bool& tabStop ){	if ( tabStop ) {		controlState_  |= Control::csTabStop;	}	else {		controlState_  &= ~Control::csTabStop;	}}void Control::setTabOrder( const long& tabOrder ){	if ( tabOrder_ == tabOrder ) {		return ;	}	Control* parent = getParent();	if ( NULL != parent ) {		Container* container = parent->getContainer();		if ( NULL != container ) {			ulong32 tmp = tabOrder;			container->updateTabOrder( this, tmp );			tabOrder_ = tmp;		}	}}Control* Control::getCurrentFocusedControl(){	return Control::currentFocusedControl;}void Control::mnemonicActivate(){	setFocused();}Control* Control::getPreviousMouseOverControl(){	return Control::previousMouseOverControl;}void Control::setPreviousMouseOverControl( Control* control ){	Control::previousMouseOverControl = control;}void Control::translateToScreenCoords( Point* pt ){	peer_->translateToScreenCoords( pt );}void Control::translateToScreenCoords( Rect* rect ){	Point pt ( rect->left_, rect->top_ );	peer_->translateToScreenCoords( &pt );	rect->left_ = pt.x_;	rect->top_ = pt.y_;	pt.x_ = rect->right_;	pt.y_ = rect->bottom_;	peer_->translateToScreenCoords( &pt );	rect->right_ = pt.x_;	rect->bottom_ = pt.y_;}void Control::translateFromScreenCoords( Point* pt ){	peer_->translateFromScreenCoords( pt );}void Control::translateFromScreenCoords( Rect* rect ){	Point pt ( rect->left_, rect->top_ );	peer_->translateFromScreenCoords( &pt );	rect->left_ = pt.x_;	rect->top_ = pt.y_;

⌨️ 快捷键说明

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