Example #1
0
void eListBoxBase::setItemHeight(int itemHeight)
{
	if(!itemHeight)return;

	item_height=itemHeight;
	event(eWidgetEvent(eWidgetEvent::changedSize));

}
Example #2
0
void eWidget::setText(const eString &label)
{
	if (label != text)	// ein compare ist immer weniger arbeit als ein unnoetiges redraw
	{
		text=label;
		event(eWidgetEvent(eWidgetEvent::changedText));
	}
}
Example #3
0
void eWidget::setPixmap(gPixmap *pmap)
{
	if ( pixmap != pmap )
	{
		pixmap=pmap;
		event(eWidgetEvent(eWidgetEvent::changedPixmap));
	}
}
Example #4
0
	/* das ist bestimmt ne einzige race hier :) */
int eWidget::exec()
{
	if (in_loop)
		eFatal("double exec");

	in_loop=-1;	// hey, exec hat angefangen aber noch nicht in der mainloop

	event(eWidgetEvent(eWidgetEvent::execBegin)); // hat jemand was dagegen einzuwenden?
	if (in_loop)	// hatte wohl jemand.
	{
		in_loop=1;		// wir betreten die mainloop
		eApp->enter_loop();		// oder wir machen das halt selber.
		in_loop=0; // nu sind wir jedenfalls draussen.
	}
	event(eWidgetEvent(eWidgetEvent::execDone));
	return result;
}
Example #5
0
void eWidget::move(const ePoint& nposition)
{
	bool b = position != nposition;
	position=nposition;
	recalcAbsolutePosition();
	recalcClip();
	if ( b )
		event(eWidgetEvent(eWidgetEvent::changedPosition));
}
Example #6
0
void eWidget::resize(const eSize& nsize)
{
	bool b = size != nsize;
	size=nsize;
	recalcClientRect();
	if ( b )
		event(eWidgetEvent(eWidgetEvent::changedSize));
	recalcClip();
}
Example #7
0
void eWidget::setForegroundColor(const gColor& color, bool inv)
{
	if (color != foregroundColor)
	{
		foregroundColor=color;
		event(eWidgetEvent(eWidgetEvent::changedForegroundColor));
		if (inv)
			invalidate();
	}
}
Example #8
0
void eWidget::setBackgroundColor(const gColor& color, bool inv)
{
	if (color!=backgroundColor)
	{
		backgroundColor=color;
		event(eWidgetEvent(eWidgetEvent::changedBackgroundColor));
		if (inv)
			invalidate();
	}
}
Example #9
0
void eWidget::setFocus(eWidget *newfocus)
{
	if (parent && parent->parent)
		return getTLW()->setFocus(newfocus);

	if (focus == newfocus)
		return;

	if (focus)
		focus->event(eWidgetEvent(eWidgetEvent::lostFocus));

	focus=newfocus;

	if (focus)
		focus->event(eWidgetEvent(eWidgetEvent::gotFocus));

	_focusList.setCurrent(focus);

	/* emit */ focusChanged(focus);
}
Example #10
0
void eWidget::setFont(const gFont &fnt)
{
	font=fnt;
	event(eWidgetEvent(eWidgetEvent::changedFont));
}
Example #11
0
int eWidget::eventHandler(const eWidgetEvent &evt)
{
	switch (evt.type)
	{
	case eWidgetEvent::childChangedHelpText:
		/* emit */ focusChanged(focus);  // faked focusChanged Signal to the Statusbar
		break;
	case eWidgetEvent::evtAction:
		if (evt.action == shortcut && isVisible())
			(shortcutFocusWidget?shortcutFocusWidget:this)->
				event(eWidgetEvent(eWidgetEvent::evtShortcut));
		else if (evt.action == &i_focusActions->up)
			focusNext(focusDirPrev);
		else if (evt.action == &i_focusActions->down)
			focusNext(focusDirNext);
		else if (evt.action == &i_focusActions->left)
			focusNext(focusDirPrev);
		else if (evt.action == &i_focusActions->right)
			focusNext(focusDirNext);
		else if (evt.action == &i_cursorActions->help)
		{
			int wasvisible=state&stateShow;
			if (wasvisible)
				hide();
			/* emit */ showHelp( &actionHelpList, helpID );
			if (wasvisible)
				show();
		} else
			return 0;
		return 1;
	case eWidgetEvent::evtKey:
	{
		eActionPrioritySet prio;

		findAction(prio, *evt.key, this);

		if (focus && (focus != this))
			focus->findAction(prio, *evt.key, focus);

		for (actionMapList::iterator i = globalActions.begin(); i != globalActions.end(); ++i)
		{
			const std::set<eString> &styles=eActionMapList::getInstance()->getCurrentStyles();
			for (std::set<eString>::const_iterator si(styles.begin()); si != styles.end(); ++si)
				(*i)->findAction(prio, *evt.key, 0, *si);
		}

		for (eActionPrioritySet::iterator i(prio.begin()); i != prio.end(); ++i)
		{
			if (i->first)
			{
				if (((eWidget*)i->first)->event(eWidgetEvent(eWidgetEvent::evtAction, i->second)))
					break;
			} else
			{
				(const_cast<eAction*>(i->second))->handler();	// only useful for global actions
				break;
			}
		}

		if (focus)
		{
			/* Action not found, try to use old Keyhandle */
			int c = evt.key->producer->getKeyCompatibleCode(*evt.key);
			if (c != -1)
			{
				if (evt.key->flags & eRCKey::flagBreak)
					focus->keyUp(c);
				else
					focus->keyDown(c);
			}
		}
		return 1;
		break;
	}
	case eWidgetEvent::gotFocus:
		gotFocus();
		break;
	case eWidgetEvent::lostFocus:
		lostFocus();
		break;
	case eWidgetEvent::changedSize:
	case eWidgetEvent::changedFont:
	case eWidgetEvent::changedPosition:
	case eWidgetEvent::changedPixmap:
		invalidate();
		break;
	case eWidgetEvent::evtShortcut:
			setFocus(this);
		break;
	case eWidgetEvent::wantClose:
/*		if (in_loop==0)
			eFatal("attempt to close non-execing widget");*/
		if (in_loop==1)	// nur wenn das ne echte loop ist
		{
			in_loop=-1;
			eApp->exit_loop();
		}
		result=evt.parameter;
		break;
	default:
		break;
	}
	return 0;
}
Example #12
0
void eWidget::close(int res)
{
	event(eWidgetEvent(eWidgetEvent::wantClose,res));
}
Example #13
0
void eWidget::willHide()
{
	event(eWidgetEvent(eWidgetEvent::willHide));
}
Example #14
0
void eWidget::willShow()
{
	event(eWidgetEvent(eWidgetEvent::willShow));
}