From 99285f8a92bfba50760ed649fa269be42fa427b9 Mon Sep 17 00:00:00 2001 From: kohait Date: Sat, 13 Oct 2012 22:30:00 +0000 Subject: [PATCH] bazaar: CtrlFinder Multiselect property, CtrlProp ported to new CtrlMover git-svn-id: svn://ultimatepp.org/upp/trunk@5427 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- bazaar/CtrlFinder/CtrlFinder.h | 3 +++ bazaar/CtrlPropTest/main.cpp | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/bazaar/CtrlFinder/CtrlFinder.h b/bazaar/CtrlFinder/CtrlFinder.h index d4ec4a9a7..dc17856e3 100644 --- a/bazaar/CtrlFinder/CtrlFinder.h +++ b/bazaar/CtrlFinder/CtrlFinder.h @@ -50,6 +50,9 @@ public: virtual Value GetData() const { return RawPickToValue(Vector(ctrls, 1)); } virtual void SetData(const Value& v) { SetCtrls(Vector(RawValue >::Extract(v), 1)); } + void Multiselect(bool b = true) { multi = b; if(!b && ctrls.GetCount() > 1) { ctrls[0] = ctrls.Top(); ctrls.SetCount(1); Update(); } } + bool IsMultiselect() const { return multi; } + static void StdCtrlFilter(Ctrl*& q, int& f); static Ctrl* ChildAtPoint(Ctrl& par, Point& pt, int& f, const CtrlFilterType& filt); diff --git a/bazaar/CtrlPropTest/main.cpp b/bazaar/CtrlPropTest/main.cpp index f311f7a14..bbed2e979 100644 --- a/bazaar/CtrlPropTest/main.cpp +++ b/bazaar/CtrlPropTest/main.cpp @@ -28,13 +28,15 @@ CtrlPropTest::CtrlPropTest() THISBACK(OnEdit)); AddFrame(mb); - hk.WhenRightDown = THISBACK(OnCtrlRight); + hk.Multiselect(false); + hk.WhenRightSelect = THISBACK(OnCtrlRight); hk.SetSource(&vis); hk.Disable(); hk <<= THISBACK(OnMoveAction); InitDummies(); + OnEdit(); } GUI_APP_MAIN