|
From: <ob...@us...> - 2010-02-28 21:23:36
|
Revision: 637
http://scstudio.svn.sourceforge.net/scstudio/?rev=637&view=rev
Author: obouda
Date: 2010-02-28 21:23:21 +0000 (Sun, 28 Feb 2010)
Log Message:
-----------
Improved feature from r634 - now the selection buttons change while pressing Ctrl/Shift.
Modified Paths:
--------------
trunk/src/view/visio/addon/addon.cpp
trunk/src/view/visio/addon/dllmodule.rc
trunk/src/view/visio/addon/document.cpp
trunk/src/view/visio/addon/document.h
trunk/src/view/visio/addon/resource.h
trunk/src/view/visio/addon/scstudio.vcproj
Added Paths:
-----------
trunk/src/view/visio/addon/icon_select_add_instances.ico
trunk/src/view/visio/addon/icon_select_add_messages.ico
Modified: trunk/src/view/visio/addon/addon.cpp
===================================================================
--- trunk/src/view/visio/addon/addon.cpp 2010-02-28 18:32:50 UTC (rev 636)
+++ trunk/src/view/visio/addon/addon.cpp 2010-02-28 21:23:21 UTC (rev 637)
@@ -302,12 +302,12 @@
case CDocumentMonitor::MENU_SELECT_ALL_MESSAGES:
TRACE("CStudioAddon::Run() menu item 'Check--Drawing--Select--All Messages'");
return pDocumentMonitor->OnMenuSelectAllMessages(vsoApp, false);
- case CDocumentMonitor::MENU_SELECT_OR_ADD_ALL_INSTANCES:
- TRACE("CStudioAddon::Run() select or add all instances to the current selection");
- return pDocumentMonitor->OnMenuSelectAllInstances(vsoApp, m_ControlPressed || m_ShiftPressed);
- case CDocumentMonitor::MENU_SELECT_OR_ADD_ALL_MESSAGES:
- TRACE("CStudioAddon::Run() select or add all messages to the current selection");
- return pDocumentMonitor->OnMenuSelectAllMessages(vsoApp, m_ControlPressed || m_ShiftPressed);
+ case CDocumentMonitor::MENU_SELECT_ADD_ALL_INSTANCES:
+ TRACE("CStudioAddon::Run() add all instances to the current selection");
+ return pDocumentMonitor->OnMenuSelectAllInstances(vsoApp, true);
+ case CDocumentMonitor::MENU_SELECT_ADD_ALL_MESSAGES:
+ TRACE("CStudioAddon::Run() add all messages to the current selection");
+ return pDocumentMonitor->OnMenuSelectAllMessages(vsoApp, true);
default:
TRACE("CStudioAddon::Run() unexpected event id=" << iEvent);
@@ -503,6 +503,10 @@
void CStudioAddon::HandleKeyDown(Visio::IVKeyboardEventPtr vsoKeyboardEvent, Visio::IVApplicationPtr vsoApp)
{
+ if (!m_ControlPressed && !m_ShiftPressed) {
+ GetDocumentMonitor(vsoApp, vsoApp->ActiveDocument)->ToggleToolbarItemsToAdd(true);
+ }
+
if (vsoKeyboardEvent->KeyButtonState & Visio::visKeyControl) {
m_ControlPressed = true;
}
@@ -513,6 +517,9 @@
void CStudioAddon::HandleKeyUp(Visio::IVKeyboardEventPtr vsoKeyboardEvent, Visio::IVApplicationPtr vsoApp)
{
+ if (m_ControlPressed || m_ShiftPressed) {
+ GetDocumentMonitor(vsoApp, vsoApp->ActiveDocument)->ToggleToolbarItemsToAdd(false);
+ }
m_ControlPressed = false;
m_ShiftPressed = false;
}
Modified: trunk/src/view/visio/addon/dllmodule.rc
===================================================================
--- trunk/src/view/visio/addon/dllmodule.rc 2010-02-28 18:32:50 UTC (rev 636)
+++ trunk/src/view/visio/addon/dllmodule.rc 2010-02-28 21:23:21 UTC (rev 637)
@@ -217,6 +217,8 @@
IDI_ICON_SELECT_MESSAGES ICON "icon_select_messages.ico"
IDI_ICON_SIMULATION_START ICON "icon_simulation_start.ico"
IDI_ICON_SIMULATION_STOP ICON "icon_simulation_stop.ico"
+IDI_ICON_SELECT_ADD_INSTANCES ICON "icon_select_add_instances.ico"
+IDI_ICON_SELECT_ADD_MESSAGES ICON "icon_select_add_messages.ico"
/////////////////////////////////////////////////////////////////////////////
//
Modified: trunk/src/view/visio/addon/document.cpp
===================================================================
--- trunk/src/view/visio/addon/document.cpp 2010-02-28 18:32:50 UTC (rev 636)
+++ trunk/src/view/visio/addon/document.cpp 2010-02-28 21:23:21 UTC (rev 637)
@@ -483,32 +483,49 @@
{
Visio::IVUIObjectPtr vsoToolbars = GetMostCustomToolbars();
Visio::IVToolbarSetPtr toolbarSet = vsoToolbars->ToolbarSets->ItemAtID[Visio::visUIObjSetDrawing];
- Visio::IVToolbarPtr toolbar = toolbarSet->Toolbars->Add();
+ m_toolbar = toolbarSet->Toolbars->Add();
- toolbar->Caption = "Sequence Chart";
+ m_toolbar->Caption = "Sequence Chart";
// many functions are not working in OLE window: repaint, import, error display
// disable verification functions when opened from OLE window
- toolbar->Enabled = !m_vsoDocument->InPlace;
+ m_toolbar->Enabled = !m_vsoDocument->InPlace;
std::basic_string<TCHAR> vslFileName = GetVisioModuleFileName();
std::basic_string<TCHAR> vslIconFile;
- m_selInstancesMenuItem = toolbar->ToolbarItems->Add();
- m_selInstancesMenuItem->Caption = "Select All Instances";
- m_selInstancesMenuItem->AddOnName = ADDON_NAME;
- m_selInstancesMenuItem->AddOnArgs = stringize() << L"/event=" << MENU_SELECT_OR_ADD_ALL_INSTANCES;
+ m_selInstancesToolbarItem = m_toolbar->ToolbarItems->Add();
+ m_selInstancesToolbarItem->Caption = "Select All Instances";
+ m_selInstancesToolbarItem->AddOnName = ADDON_NAME;
+ m_selInstancesToolbarItem->AddOnArgs = stringize() << L"/event=" << MENU_SELECT_ALL_INSTANCES;
vslIconFile = vslFileName+_T(",2");
- m_selInstancesMenuItem->IconFileName(vslIconFile.c_str());
- m_selInstancesMenuItem->BeginGroup = true;
+ m_selInstancesToolbarItem->IconFileName(vslIconFile.c_str());
+ m_selInstancesToolbarItem->BeginGroup = true;
- m_selMessagesMenuItem = toolbar->ToolbarItems->Add();
- m_selMessagesMenuItem->Caption = "Select All Messages";
- m_selMessagesMenuItem->AddOnName = ADDON_NAME;
- m_selMessagesMenuItem->AddOnArgs = stringize() << L"/event=" << MENU_SELECT_OR_ADD_ALL_MESSAGES;
+ m_selMessagesToolbarItem = m_toolbar->ToolbarItems->Add();
+ m_selMessagesToolbarItem->Caption = "Select All Messages";
+ m_selMessagesToolbarItem->AddOnName = ADDON_NAME;
+ m_selMessagesToolbarItem->AddOnArgs = stringize() << L"/event=" << MENU_SELECT_ALL_MESSAGES;
vslIconFile = vslFileName+_T(",3");
- m_selMessagesMenuItem->IconFileName(vslIconFile.c_str());
+ m_selMessagesToolbarItem->IconFileName(vslIconFile.c_str());
- Visio::IVToolbarItemPtr itemFindFlow = toolbar->ToolbarItems->Add();
+ m_selAddInstancesToolbarItem = m_toolbar->ToolbarItems->Add();
+ m_selAddInstancesToolbarItem->Caption = "Add All Instances To Selection";
+ m_selAddInstancesToolbarItem->AddOnName = ADDON_NAME;
+ m_selAddInstancesToolbarItem->AddOnArgs = stringize() << L"/event=" << MENU_SELECT_ADD_ALL_INSTANCES;
+ vslIconFile = vslFileName+_T(",6");
+ m_selAddInstancesToolbarItem->IconFileName(vslIconFile.c_str());
+ m_selAddInstancesToolbarItem->Visible = false;
+
+ m_selAddMessagesToolbarItem = m_toolbar->ToolbarItems->Add();
+ m_selAddMessagesToolbarItem->Caption = "Add All Messages To Selection";
+ m_selAddMessagesToolbarItem->AddOnName = ADDON_NAME;
+ m_selAddMessagesToolbarItem->AddOnArgs = stringize() << L"/event=" << MENU_SELECT_ADD_ALL_MESSAGES;
+ vslIconFile = vslFileName+_T(",7");
+ m_selAddMessagesToolbarItem->IconFileName(vslIconFile.c_str());
+ m_selAddMessagesToolbarItem->Visible = false;
+
+
+ Visio::IVToolbarItemPtr itemFindFlow = m_toolbar->ToolbarItems->Add();
itemFindFlow->Caption = "Find Flow";
itemFindFlow->AddOnName = ADDON_NAME;
itemFindFlow->AddOnArgs = stringize() << L"/event=" << MENU_FIND_FLOW;
@@ -517,7 +534,7 @@
vslIconFile = vslFileName+_T(",1");
itemFindFlow->IconFileName(vslIconFile.c_str());
- m_simulationStartToolbarItem = toolbar->ToolbarItems->Add();
+ m_simulationStartToolbarItem = m_toolbar->ToolbarItems->Add();
m_simulationStartToolbarItem->Caption = "Start Simulation";
m_simulationStartToolbarItem->AddOnName = ADDON_NAME;
m_simulationStartToolbarItem->AddOnArgs = stringize() << L"/event=" << MENU_SIMULATION_START;
@@ -526,7 +543,7 @@
vslIconFile = vslFileName+_T(",4");
m_simulationStartToolbarItem->IconFileName(vslIconFile.c_str());
- m_simulationStopToolbarItem = toolbar->ToolbarItems->Add();
+ m_simulationStopToolbarItem = m_toolbar->ToolbarItems->Add();
m_simulationStopToolbarItem->Caption = "Stop Simulation";
m_simulationStopToolbarItem->AddOnName = ADDON_NAME;
m_simulationStopToolbarItem->AddOnArgs = stringize() << L"/event=" << MENU_SIMULATION_STOP;
@@ -536,7 +553,7 @@
vslIconFile = vslFileName+_T(",5");
m_simulationStopToolbarItem->IconFileName(vslIconFile.c_str());
- Visio::IVToolbarItemPtr itemVerify = toolbar->ToolbarItems->Add();
+ Visio::IVToolbarItemPtr itemVerify = m_toolbar->ToolbarItems->Add();
itemVerify->Caption = "Verify";
itemVerify->AddOnName = ADDON_NAME;
itemVerify->AddOnArgs = stringize() << L"/event=" << MENU_VERIFY;
@@ -547,6 +564,16 @@
m_vsoDocument->SetCustomToolbars(vsoToolbars);
}
+void CDocumentMonitor::ToggleToolbarItemsToAdd(bool add)
+{
+ m_selInstancesToolbarItem->Visible = !add;
+ m_selMessagesToolbarItem->Visible = !add;
+ m_selAddInstancesToolbarItem->Visible = add;
+ m_selAddMessagesToolbarItem->Visible = add;
+
+ m_vsoDocument->CustomToolbars->UpdateUI();
+}
+
TransformerPtrList::const_iterator CDocumentMonitor::find_transformer(const std::wstring& name) const
{
for(TransformerPtrList::const_iterator cpos = m_transformers.begin();
Modified: trunk/src/view/visio/addon/document.h
===================================================================
--- trunk/src/view/visio/addon/document.h 2010-02-28 18:32:50 UTC (rev 636)
+++ trunk/src/view/visio/addon/document.h 2010-02-28 21:23:21 UTC (rev 637)
@@ -60,8 +60,8 @@
MENU_CHECK_OPTIONS,
MENU_SELECT_ALL_INSTANCES,
MENU_SELECT_ALL_MESSAGES,
- MENU_SELECT_OR_ADD_ALL_INSTANCES,
- MENU_SELECT_OR_ADD_ALL_MESSAGES,
+ MENU_SELECT_ADD_ALL_INSTANCES,
+ MENU_SELECT_ADD_ALL_MESSAGES,
};
VAORC OnMenuWindowsReporter(Visio::IVApplicationPtr vsoApp);
@@ -94,6 +94,8 @@
void OnSimulationResult();
void OnSimulationError();
+ void ToggleToolbarItemsToAdd(bool add);
+
// event objects for this document
Visio::IVEventPtr m_vsoPageAddedEvent;
Visio::IVEventPtr m_vsoBeforeDocumentClosedEvent;
@@ -153,13 +155,17 @@
CReportView *m_reportView;
ConfigProvider *m_configProvider;
+ Visio::IVToolbarPtr m_toolbar;
+
Visio::IVMenuItemPtr m_simulationStartMenuItem;
Visio::IVMenuItemPtr m_simulationStopMenuItem;
Visio::IVToolbarItemPtr m_simulationStartToolbarItem;
Visio::IVToolbarItemPtr m_simulationStopToolbarItem;
- Visio::IVToolbarItemPtr m_selInstancesMenuItem;
- Visio::IVToolbarItemPtr m_selMessagesMenuItem;
+ Visio::IVToolbarItemPtr m_selInstancesToolbarItem;
+ Visio::IVToolbarItemPtr m_selMessagesToolbarItem;
+ Visio::IVToolbarItemPtr m_selAddInstancesToolbarItem;
+ Visio::IVToolbarItemPtr m_selAddMessagesToolbarItem;
/**
* Selects all instances or all messages on the active page.
Added: trunk/src/view/visio/addon/icon_select_add_instances.ico
===================================================================
(Binary files differ)
Property changes on: trunk/src/view/visio/addon/icon_select_add_instances.ico
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/src/view/visio/addon/icon_select_add_messages.ico
===================================================================
(Binary files differ)
Property changes on: trunk/src/view/visio/addon/icon_select_add_messages.ico
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: trunk/src/view/visio/addon/resource.h
===================================================================
--- trunk/src/view/visio/addon/resource.h 2010-02-28 18:32:50 UTC (rev 636)
+++ trunk/src/view/visio/addon/resource.h 2010-02-28 21:23:21 UTC (rev 637)
@@ -24,13 +24,15 @@
#define IDI_ICON_SIMULATION_START 213
#define IDI_ICON_SIMULATION_STOP 214
#define IDC_SIM_MESSAGE_DELAY 218
+#define IDI_ICON_SELECT_ADD_INSTANCES 218
#define IDC_SIM_BIN_WIDTH 219
+#define IDI_ICON_SELECT_ADD_MESSAGES 219
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 217
+#define _APS_NEXT_RESOURCE_VALUE 220
#define _APS_NEXT_COMMAND_VALUE 32768
#define _APS_NEXT_CONTROL_VALUE 220
#define _APS_NEXT_SYMED_VALUE 105
Modified: trunk/src/view/visio/addon/scstudio.vcproj
===================================================================
--- trunk/src/view/visio/addon/scstudio.vcproj 2010-02-28 18:32:50 UTC (rev 636)
+++ trunk/src/view/visio/addon/scstudio.vcproj 2010-02-28 21:23:21 UTC (rev 637)
@@ -406,6 +406,14 @@
>
</File>
<File
+ RelativePath=".\icon_select_add_instances.ico"
+ >
+ </File>
+ <File
+ RelativePath=".\icon_select_add_messages.ico"
+ >
+ </File>
+ <File
RelativePath=".\icon_select_instances.ico"
>
</File>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|