|
From: <ob...@us...> - 2010-04-10 23:23:49
|
Revision: 716
http://scstudio.svn.sourceforge.net/scstudio/?rev=716&view=rev
Author: obouda
Date: 2010-04-10 23:23:43 +0000 (Sat, 10 Apr 2010)
Log Message:
-----------
Add Instances function: added check whether the starting point is on the drawing area
Modified Paths:
--------------
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/instancesfielddlg.cpp
trunk/src/view/visio/addon/instancesfielddlg.h
Modified: trunk/src/view/visio/addon/dllmodule.rc
===================================================================
--- trunk/src/view/visio/addon/dllmodule.rc 2010-04-10 22:50:23 UTC (rev 715)
+++ trunk/src/view/visio/addon/dllmodule.rc 2010-04-10 23:23:43 UTC (rev 716)
@@ -120,11 +120,6 @@
PUSHBUTTON "Default values",IDC_DEFAULT_BTN,131,88,58,14
LTEXT "x:",IDC_STATIC,64,40,9,12,SS_CENTERIMAGE
LTEXT "y:",IDC_STATIC,64,54,9,12,SS_CENTERIMAGE
- LTEXT "",IDC_UNITS_LBL1,126,23,14,12,SS_CENTERIMAGE
- LTEXT "",IDC_UNITS_LBL2,126,40,14,12,SS_CENTERIMAGE
- LTEXT "",IDC_UNITS_LBL3,126,54,14,12,SS_CENTERIMAGE
- LTEXT "",IDC_UNITS_LBL4,107,88,14,12,SS_CENTERIMAGE
- LTEXT "",IDC_UNITS_LBL5,107,103,14,12,SS_CENTERIMAGE
END
Modified: trunk/src/view/visio/addon/document.cpp
===================================================================
--- trunk/src/view/visio/addon/document.cpp 2010-04-10 22:50:23 UTC (rev 715)
+++ trunk/src/view/visio/addon/document.cpp 2010-04-10 23:23:43 UTC (rev 716)
@@ -590,12 +590,23 @@
{
TRACE("CDocumentMonitor::DrawInstancesField() Drawing instances field");
- if (instancesCnt < 0 || instanceLength < 0 || instanceWidth < 0 || startX < 0 || startY < 0)
+ if (instancesCnt < 0 || instanceLength < 0 || instanceWidth < 0)
{
- TRACE("CDocumentMonitor::DrawInstancesField() Bad arguments (some are negative)");
+ TRACE("CDocumentMonitor::DrawInstancesField() Bad arguments (negative or out of drawing area)");
return VAORC_FAILURE;
}
+ float pageWidth = static_cast<float>(CPageUtils::GetPageWidth(vsoApp->ActivePage));
+ float pageHeight = static_cast<float>(CPageUtils::GetPageHeight(vsoApp->ActivePage));
+
+ if (startX < 0 || startY < 0 || startX > pageWidth || startY > pageHeight)
+ {
+ MessageBox(GetActiveWindow(),
+ _T("Start point is out of drawing area."), _T("Add Instances Error"),
+ MB_OK | MB_ICONEXCLAMATION);
+ return VAORC_FAILURE;
+ }
+
Visio::IVPagePtr vsoPage = vsoApp->ActivePage;
int oldShapesCount = vsoPage->Shapes->Count;
CDrawingVisualizer visualizer(m_vsoApp);
Modified: trunk/src/view/visio/addon/document.h
===================================================================
--- trunk/src/view/visio/addon/document.h 2010-04-10 22:50:23 UTC (rev 715)
+++ trunk/src/view/visio/addon/document.h 2010-04-10 23:23:43 UTC (rev 716)
@@ -23,6 +23,7 @@
#include "data/searcher.h"
#include "data/simulator.h"
#include "data/transformer.h"
+#include "pageutils.h"
//! template used to create new documents
static const _bstr_t VST_FILE_NAME = _T("MSC.vtx");
Modified: trunk/src/view/visio/addon/instancesfielddlg.cpp
===================================================================
--- trunk/src/view/visio/addon/instancesfielddlg.cpp 2010-04-10 22:50:23 UTC (rev 715)
+++ trunk/src/view/visio/addon/instancesfielddlg.cpp 2010-04-10 23:23:43 UTC (rev 716)
@@ -34,19 +34,6 @@
m_pageWidth = static_cast<float>(CPageUtils::GetPageWidth(page));
m_pageHeight = static_cast<float>(CPageUtils::GetPageHeight(page));
-
- /* FIXME: type the units in the form
- // type the units in the form
- Visio::IVShapePtr sheet = page->PageSheet;
- Visio::IVCellPtr pageWidthCell = sheet->CellsSRC[visSectionObject][visRowPage][visPageWidth];
- m_pageUnits = static_cast<VisUnitCodes>(pageWidthCell->Units);
-
- for (int i=0; i<ARRAYSIZE(m_unitsLabels); i++) {
- // FIXME: change the units in the form
- //m_unitsLabels[i].SetWindowText(CDocumentMonitor::VisioUnitToString(m_pageUnits));
- //m_unitsLabels[i].SetWindowText(_T("blah"));
- }
- */
}
void CInstancesFieldDlg::OnDataValidateError(UINT nCtrlID, BOOL bSave, _XData& data)
@@ -177,10 +164,6 @@
m_spacingEdit.ShowWindow(visible);
m_defaultValuesBtn.ShowWindow(visible);
- for (int i=3; i<ARRAYSIZE(m_unitsLabels); i++) {
- m_unitsLabels[i].ShowWindow(visible);
- }
-
if (visible) {
if (m_use_const_spacing) {
m_spacingRdo.SetFocus();
Modified: trunk/src/view/visio/addon/instancesfielddlg.h
===================================================================
--- trunk/src/view/visio/addon/instancesfielddlg.h 2010-04-10 22:50:23 UTC (rev 715)
+++ trunk/src/view/visio/addon/instancesfielddlg.h 2010-04-10 23:23:43 UTC (rev 716)
@@ -71,11 +71,6 @@
DDX_CONTROL_HANDLE(IDC_DEFAULT_BTN, m_defaultValuesBtn)
DDX_CONTROL_HANDLE(IDC_IF_TOTAL_WIDTH, m_totalWidthEdit)
DDX_CONTROL_HANDLE(IDC_IF_SPACING, m_spacingEdit)
- DDX_CONTROL_HANDLE(IDC_UNITS_LBL1, m_unitsLabels[0])
- DDX_CONTROL_HANDLE(IDC_UNITS_LBL2, m_unitsLabels[1])
- DDX_CONTROL_HANDLE(IDC_UNITS_LBL3, m_unitsLabels[2])
- DDX_CONTROL_HANDLE(IDC_UNITS_LBL4, m_unitsLabels[3])
- DDX_CONTROL_HANDLE(IDC_UNITS_LBL5, m_unitsLabels[4])
END_DDX_MAP()
BEGIN_MSG_MAP(CInstancesFieldDlg)
@@ -120,7 +115,6 @@
CEdit m_instancesCntEdit;
CEdit m_totalWidthEdit;
CEdit m_spacingEdit;
- CStatic m_unitsLabels[5];
};
static const int DEFAULT_IF_INSTANCES_CNT = 2;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|