Example #1
0
void SymbolSymmetryEditor::onCommand(int id) {
	if (id >= ID_SYMMETRY && id < ID_SYMMETRY_MAX) {
		SymbolSymmetryType kind = id == ID_SYMMETRY_ROTATION ? SYMMETRY_ROTATION : SYMMETRY_REFLECTION;
		if (symmetry && symmetry->kind != kind) {
			addAction(new SymmetryTypeAction(*symmetry, kind));
			control.Refresh(false);
		}
		resetActions();
	} else if (id == ID_COPIES) {
		if (symmetry && symmetry->copies != copies->GetValue()) {
			addAction(new SymmetryCopiesAction(*symmetry, copies->GetValue()));
			control.Refresh(false);
		}
		resetActions();
	} else if (id == ID_ADD_SYMMETRY) {
		symmetry = intrusive(new SymbolSymmetry());
		symmetry->kind   = SYMMETRY_ROTATION;
		symmetry->copies = 2;
		symmetry->center = Vector2D(0.5,0.5);
		symmetry->handle = Vector2D(0.2,0);
		symmetry->name   = symmetry->expectedName();
		addAction(new GroupSymbolPartsAction(*getSymbol(), control.selected_parts.get(), symmetry));
		control.selected_parts.select(symmetry);
		control.Refresh(false);
	} else if (id == ID_REMOVE_SYMMETRY) {
		addAction(new UngroupSymbolPartsAction(*getSymbol(), control.selected_parts.get()));
		symmetry = SymbolSymmetryP();
		control.Refresh(false);
	}
}
Example #2
0
ContextMenu::ContextMenu(QWidget *parent, const style::iconedButton &st) : TWidget(0),
_hiding(false), _buttonStyle(st), _shadow(st::dropdownShadow), _selected(-1), a_opacity(0), _deleteOnHide(false) {
	resetActions();

	setWindowFlags(Qt::FramelessWindowHint | Qt::BypassWindowManagerHint | Qt::Tool | Qt::NoDropShadowWindowHint | Qt::WindowStaysOnTopHint);
	hide();

	setAttribute(Qt::WA_NoSystemBackground, true);
	setAttribute(Qt::WA_TranslucentBackground, true);
}
Example #3
0
void PopupMenu::init() {
    _padding = _shadow.getDimensions(_st.shadowShift);

    resetActions();

    setWindowFlags(Qt::FramelessWindowHint | Qt::BypassWindowManagerHint | Qt::Popup | Qt::NoDropShadowWindowHint);
    setMouseTracking(true);

    hide();

    setAttribute(Qt::WA_NoSystemBackground, true);
    setAttribute(Qt::WA_TranslucentBackground, true);
}
// =============================================================================
void TimeTrackingAction::setUserCurrentlyWorking(bool userCurrentlyWorking) {
    mUserCurrentlyWorking = userCurrentlyWorking;
    if(mUserCurrentlyWorking) {
        resetTimerDefaultAction();
        resetActions();
        resetTimerPause();
    } else {

        mTimerDefaultAction->stop();
        mTimerPause->stop();

    }
}
Example #5
0
void SymbolSymmetryEditor::onKeyChange(wxKeyEvent& ev) {
	if (symmetryMoveAction) {
		if (ev.GetKeyCode() == WXK_CONTROL || ev.GetKeyCode() == WXK_SHIFT) {
			// changed constrains
			symmetryMoveAction->constrain = ev.ControlDown();
			symmetryMoveAction->snap      = ev.ShiftDown() != settings.symbol_grid_snap ? settings.symbol_grid_size : 0;
			control.Refresh(false);
		} else if (ev.GetKeyCode() == WXK_ESCAPE) {
			// cancel drawing
			resetActions();
		}
	}
}
Example #6
0
void AvatarComponent::setAnimatorData(AnimatorData * animatorData)
{
    for (auto i : m_animatorDataTags)
        this->stopActionByTag(i);
    CC_SAFE_RELEASE_NULL(m_animatorData);
    
    if (animatorData != nullptr)
    {
        m_animatorData = animatorData;
        m_animatorData->retain();
        
        resetActions();
    }
}
Example #7
0
void SymbolSymmetryEditor::initUI(wxToolBar* tb, wxMenuBar* mb) {
	copies = new wxSpinCtrl(  tb, ID_COPIES, _("2"), wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 2, 10, 2);
	copies->SetHelpText(_HELP_("copies"));
	copies->SetSize(50, -1);
	tb->AddSeparator();
	tb->AddTool(ID_ADD_SYMMETRY,		_TOOL_("add symmetry"),		load_resource_tool_image(_("symmetry_add")),	wxNullBitmap, wxITEM_CHECK, _TOOLTIP_("add symmetry"),    _HELP_("add symmetry"));
	tb->AddTool(ID_REMOVE_SYMMETRY,		_TOOL_("remove symmetry"),	load_resource_tool_image(_("symmetry_remove")),	wxNullBitmap, wxITEM_CHECK, _TOOLTIP_("remove symmetry"), _HELP_("remove symmetry"));
	tb->AddSeparator();
	tb->AddTool(ID_SYMMETRY_ROTATION,	_TOOL_("rotation"),		load_resource_image(_("symmetry_rotation")),	wxNullBitmap, wxITEM_CHECK, _TOOLTIP_("rotation"),   _HELP_("rotation"));
	tb->AddTool(ID_SYMMETRY_REFLECTION,	_TOOL_("reflection"),	load_resource_image(_("symmetry_reflection")),	wxNullBitmap, wxITEM_CHECK, _TOOLTIP_("reflection"), _HELP_("reflection"));
	tb->AddSeparator();
	tb->AddControl(copies);
	tb->Realize();
	control.SetCursor(*wxCROSS_CURSOR);
	resetActions(); // set status text
}
Example #8
0
// this should be pushed from listview, not pulled
void KEBApp::updateActions()
{
    resetActions();
    setActionsEnabled(ListView::self()->getSelectionAbilities());
}
Example #9
0
 GameController::GameController(): mCharacter( nullptr )
 {
   resetActions();
 }
Example #10
0
void Canvas::addAction(Action *a) {

    resetActions();
    actions.push_back(a);
    actions.back()->doAction(this);
}
Example #11
0
void SymbolSymmetryEditor::onLeftUp     (const Vector2D& pos, wxMouseEvent& ev) {
	if (!symmetry) return;
	if (isEditing()) {
		resetActions();
	}
}