Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
K
kicad-source-mirror
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
kicad-source-mirror
Commits
ae9eacb2
Commit
ae9eacb2
authored
Feb 07, 2015
by
Tomasz Włostowski
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'bzr/master'
parents
b03d4218
07db7c8d
Changes
4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
262 additions
and
91 deletions
+262
-91
searchhelpfilefullpath.cpp
common/searchhelpfilefullpath.cpp
+27
-10
context_menu.cpp
common/tool/context_menu.cpp
+1
-1
dialog_graphic_item_properties.cpp
pcbnew/dialogs/dialog_graphic_item_properties.cpp
+124
-48
dialog_graphic_item_properties_for_Modedit.cpp
...ew/dialogs/dialog_graphic_item_properties_for_Modedit.cpp
+110
-32
No files found.
common/searchhelpfilefullpath.cpp
View file @
ae9eacb2
/*
/*
* This program source code file is part of KiCad, a free EDA CAD application.
* This program source code file is part of KiCad, a free EDA CAD application.
*
*
* Copyright (C) 2014 CERN
* Copyright (C) 2014
-2015
CERN
* Copyright (C) 2014 KiCad Developers, see CHANGELOG.TXT for contributors.
* Copyright (C) 2014
-2015
KiCad Developers, see CHANGELOG.TXT for contributors.
* @author Maciej Suminski <maciej.suminski@cern.ch>
* @author Maciej Suminski <maciej.suminski@cern.ch>
*
*
* This program is free software; you can redistribute it and/or
* This program is free software; you can redistribute it and/or
...
@@ -31,7 +31,7 @@
...
@@ -31,7 +31,7 @@
* Function FindFileInSearchPaths
* Function FindFileInSearchPaths
* looks in "this" for \a aFilename, but first modifies every search
* looks in "this" for \a aFilename, but first modifies every search
* path by appending a list of path fragments from aSubdirs. That modification
* path by appending a list of path fragments from aSubdirs. That modification
* is not re
nt
ative.
* is not re
l
ative.
*/
*/
wxString
FindFileInSearchPaths
(
const
SEARCH_STACK
&
aStack
,
wxString
FindFileInSearchPaths
(
const
SEARCH_STACK
&
aStack
,
const
wxString
&
aFilename
,
const
wxArrayString
*
aSubdirs
)
const
wxString
&
aFilename
,
const
wxArrayString
*
aSubdirs
)
...
@@ -73,7 +73,12 @@ wxString SearchHelpFileFullPath( const SEARCH_STACK& aSStack, const wxString& aB
...
@@ -73,7 +73,12 @@ wxString SearchHelpFileFullPath( const SEARCH_STACK& aSStack, const wxString& aB
// If there's a KICAD environment variable set, use that guy's path also
// If there's a KICAD environment variable set, use that guy's path also
ss
.
AddPaths
(
Pgm
().
GetKicadEnvVariable
(),
0
);
ss
.
AddPaths
(
Pgm
().
GetKicadEnvVariable
(),
0
);
#if 1 // && defined(__linux__)
#if defined(__WXMAC__)
ss
.
AddPaths
(
GetOSXKicadMachineDataDir
()
);
ss
.
AddPaths
(
Pgm
().
GetExecutablePath
(),
0
);
#endif
#if ! defined(__WXMAC__) // && defined(__linux__)
// Based on kicad-doc.bzr/CMakeLists.txt, line 20, the help files are
// Based on kicad-doc.bzr/CMakeLists.txt, line 20, the help files are
// installed into "<CMAKE_INSTALL_PREFIX>/share/doc/kicad/help" for linux.
// installed into "<CMAKE_INSTALL_PREFIX>/share/doc/kicad/help" for linux.
// This is ${KICAD_HELP} var in that CMakeLists.txt file.
// This is ${KICAD_HELP} var in that CMakeLists.txt file.
...
@@ -84,7 +89,7 @@ wxString SearchHelpFileFullPath( const SEARCH_STACK& aSStack, const wxString& aB
...
@@ -84,7 +89,7 @@ wxString SearchHelpFileFullPath( const SEARCH_STACK& aSStack, const wxString& aB
subdirs
.
Add
(
wxT
(
"help"
)
);
subdirs
.
Add
(
wxT
(
"help"
)
);
#endif
#endif
#if
1
// && defined(__WINDOWS__)
#if
! defined(__WXMAC__)
// && defined(__WINDOWS__)
// Based on kicad-doc.bzr/CMakeLists.txt, line 35, the help files are
// Based on kicad-doc.bzr/CMakeLists.txt, line 35, the help files are
// installed into "<CMAKE_INSTALL_PREFIX>/doc/help" for Windows.
// installed into "<CMAKE_INSTALL_PREFIX>/doc/help" for Windows.
// This is ${KICAD_HELP} var in that CMakeLists.txt file.
// This is ${KICAD_HELP} var in that CMakeLists.txt file.
...
@@ -93,6 +98,18 @@ wxString SearchHelpFileFullPath( const SEARCH_STACK& aSStack, const wxString& aB
...
@@ -93,6 +98,18 @@ wxString SearchHelpFileFullPath( const SEARCH_STACK& aSStack, const wxString& aB
altsubdirs
.
Add
(
wxT
(
"help"
)
);
altsubdirs
.
Add
(
wxT
(
"help"
)
);
#endif
#endif
#if defined (__WXMAC__)
// OS X packages can have the help files in
// /Library/Application\ Support/kicad/help,
// and in Contents/SharedSupport/help inside the
// bundle.
// Below we account for an international subdirectory.
subdirs
.
Add
(
wxT
(
"help"
)
);
altsubdirs
.
Add
(
wxT
(
"Contents"
)
);
altsubdirs
.
Add
(
wxT
(
"SharedSupport"
)
);
altsubdirs
.
Add
(
wxT
(
"help"
)
);
#endif
/* Search for a help file.
/* Search for a help file.
* we *must* find a help file.
* we *must* find a help file.
* so help is searched in directories in this order:
* so help is searched in directories in this order:
...
@@ -110,7 +127,7 @@ wxString SearchHelpFileFullPath( const SEARCH_STACK& aSStack, const wxString& aB
...
@@ -110,7 +127,7 @@ wxString SearchHelpFileFullPath( const SEARCH_STACK& aSStack, const wxString& aB
locale_name_dirs
.
Add
(
i18n
->
GetCanonicalName
()
);
// canonical name like fr_FR
locale_name_dirs
.
Add
(
i18n
->
GetCanonicalName
()
);
// canonical name like fr_FR
// wxLocale::GetName() does not return always the short name
// wxLocale::GetName() does not return always the short name
locale_name_dirs
.
Add
(
i18n
->
GetName
().
BeforeLast
(
'_'
)
);
// short canonical name like fr
locale_name_dirs
.
Add
(
i18n
->
GetName
().
BeforeLast
(
'_'
)
);
// short canonical name like fr
locale_name_dirs
.
Add
(
wxT
(
"en"
)
);
// default (en)
locale_name_dirs
.
Add
(
wxT
(
"en"
)
);
// default (en)
#if defined(DEBUG) && 0
#if defined(DEBUG) && 0
ss
.
Show
(
__func__
);
ss
.
Show
(
__func__
);
...
@@ -127,22 +144,22 @@ wxString SearchHelpFileFullPath( const SEARCH_STACK& aSStack, const wxString& aB
...
@@ -127,22 +144,22 @@ wxString SearchHelpFileFullPath( const SEARCH_STACK& aSStack, const wxString& aB
subdirs
.
Add
(
locale_name_dirs
[
ii
]
);
subdirs
.
Add
(
locale_name_dirs
[
ii
]
);
altsubdirs
.
Add
(
locale_name_dirs
[
ii
]
);
altsubdirs
.
Add
(
locale_name_dirs
[
ii
]
);
fn
=
FindFileInSearchPaths
(
ss
,
aBaseName
+
wxT
(
".html"
),
&
altsubdirs
);
fn
=
FindFileInSearchPaths
(
ss
,
aBaseName
+
wxT
(
".html"
),
&
altsubdirs
);
if
(
!
fn
.
IsEmpty
()
)
if
(
!
fn
.
IsEmpty
()
)
break
;
break
;
fn
=
FindFileInSearchPaths
(
ss
,
aBaseName
+
wxT
(
".pdf"
),
&
altsubdirs
);
fn
=
FindFileInSearchPaths
(
ss
,
aBaseName
+
wxT
(
".pdf"
),
&
altsubdirs
);
if
(
!
fn
.
IsEmpty
()
)
if
(
!
fn
.
IsEmpty
()
)
break
;
break
;
fn
=
FindFileInSearchPaths
(
ss
,
aBaseName
+
wxT
(
".html"
),
&
subdirs
);
fn
=
FindFileInSearchPaths
(
ss
,
aBaseName
+
wxT
(
".html"
),
&
subdirs
);
if
(
!
fn
.
IsEmpty
()
)
if
(
!
fn
.
IsEmpty
()
)
break
;
break
;
fn
=
FindFileInSearchPaths
(
ss
,
aBaseName
+
wxT
(
".pdf"
),
&
subdirs
);
fn
=
FindFileInSearchPaths
(
ss
,
aBaseName
+
wxT
(
".pdf"
),
&
subdirs
);
if
(
!
fn
.
IsEmpty
()
)
if
(
!
fn
.
IsEmpty
()
)
break
;
break
;
...
...
common/tool/context_menu.cpp
View file @
ae9eacb2
...
@@ -132,7 +132,7 @@ void CONTEXT_MENU::SetTitle( const wxString& aTitle )
...
@@ -132,7 +132,7 @@ void CONTEXT_MENU::SetTitle( const wxString& aTitle )
else
else
{
{
InsertSeparator
(
0
);
InsertSeparator
(
0
);
Insert
(
0
,
new
wxMenuItem
(
this
,
-
1
,
aTitle
,
wxEmptyString
,
wxITEM_NORMAL
)
);
Insert
(
0
,
new
wxMenuItem
(
this
,
wxID_NONE
,
aTitle
,
wxEmptyString
,
wxITEM_NORMAL
)
);
m_titleSet
=
true
;
m_titleSet
=
true
;
}
}
}
}
...
...
pcbnew/dialogs/dialog_graphic_item_properties.cpp
View file @
ae9eacb2
This diff is collapsed.
Click to expand it.
pcbnew/dialogs/dialog_graphic_item_properties_for_Modedit.cpp
View file @
ae9eacb2
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application.
* This program source code file is part of KiCad, a free EDA CAD application.
*
*
* Copyright (C) 2012-2014 Jean-Pierre Charras, jean-pierre.charras at wanadoo.fr
* Copyright (C) 2012-2014 Jean-Pierre Charras, jean-pierre.charras at wanadoo.fr
* Copyright (C) 1992-201
4
KiCad Developers, see AUTHORS.txt for contributors.
* Copyright (C) 1992-201
5
KiCad Developers, see AUTHORS.txt for contributors.
*
*
* This program is free software; you can redistribute it and/or
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* modify it under the terms of the GNU General Public License
...
@@ -23,7 +23,7 @@
...
@@ -23,7 +23,7 @@
*/
*/
/**
/**
@file dialog_graphic_item_properties_for_Modedit.cpp
*
@file dialog_graphic_item_properties_for_Modedit.cpp
*/
*/
/* Edit parameters values of graphic items in a footprint body:
/* Edit parameters values of graphic items in a footprint body:
...
@@ -49,25 +49,27 @@
...
@@ -49,25 +49,27 @@
#include <dialog_graphic_item_properties_base.h>
#include <dialog_graphic_item_properties_base.h>
#include <class_pcb_layer_box_selector.h>
#include <class_pcb_layer_box_selector.h>
#include <html_messagebox.h>
class
DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES
:
public
DIALOG_GRAPHIC_ITEM_PROPERTIES_BASE
class
DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES
:
public
DIALOG_GRAPHIC_ITEM_PROPERTIES_BASE
{
{
private
:
private
:
FOOTPRINT_EDIT_FRAME
*
m_parent
;
FOOTPRINT_EDIT_FRAME
*
m_parent
;
EDGE_MODULE
*
m_item
;
EDGE_MODULE
*
m_item
;
BOARD_DESIGN_SETTINGS
m_brdSettings
;
BOARD_DESIGN_SETTINGS
m_brdSettings
;
MODULE
*
m_module
;
MODULE
*
m_module
;
public
:
public
:
DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES
(
FOOTPRINT_EDIT_FRAME
*
aParent
,
DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES
(
FOOTPRINT_EDIT_FRAME
*
aParent
,
EDGE_MODULE
*
aItem
);
EDGE_MODULE
*
aItem
);
~
DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES
()
{};
~
DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES
()
{};
private
:
private
:
void
initDlg
(
);
void
initDlg
();
void
OnOkClick
(
wxCommandEvent
&
event
);
void
OnOkClick
(
wxCommandEvent
&
event
);
void
OnCancelClick
(
wxCommandEvent
&
event
){
event
.
Skip
();
}
void
OnCancelClick
(
wxCommandEvent
&
event
){
event
.
Skip
();
}
void
OnLayerChoice
(
wxCommandEvent
&
event
);
void
OnLayerChoice
(
wxCommandEvent
&
event
);
bool
itemValuesOK
();
};
};
DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES
::
DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES
(
DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES
::
DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES
(
...
@@ -85,14 +87,15 @@ DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES::DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES(
...
@@ -85,14 +87,15 @@ DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES::DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES(
Centre
();
Centre
();
}
}
/*
/*
* Dialog to edit a graphic item of a footprint body.
* Dialog to edit a graphic item of a footprint body.
*/
*/
void
FOOTPRINT_EDIT_FRAME
::
InstallFootprintBodyItemPropertiesDlg
(
EDGE_MODULE
*
aItem
)
void
FOOTPRINT_EDIT_FRAME
::
InstallFootprintBodyItemPropertiesDlg
(
EDGE_MODULE
*
aItem
)
{
{
if
(
aItem
==
NULL
)
if
(
aItem
==
NULL
)
{
{
wxMessageBox
(
wxT
(
"InstallGraphicItemPropertiesDialog() error: NULL item"
)
);
wxMessageBox
(
wxT
(
"InstallGraphicItemPropertiesDialog() error: NULL item"
)
);
return
;
return
;
}
}
...
@@ -112,7 +115,7 @@ void DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES::initDlg()
...
@@ -112,7 +115,7 @@ void DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES::initDlg()
m_StandardButtonsSizerOK
->
SetDefault
();
m_StandardButtonsSizerOK
->
SetDefault
();
// Set unit symbol
// Set unit symbol
wxStaticText
*
texts_unit
[]
=
wxStaticText
*
texts_unit
[]
=
{
{
m_StartPointXUnit
,
m_StartPointXUnit
,
m_StartPointYUnit
,
m_StartPointYUnit
,
...
@@ -134,34 +137,40 @@ void DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES::initDlg()
...
@@ -134,34 +137,40 @@ void DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES::initDlg()
wxString
msg
;
wxString
msg
;
// Change texts according to the segment shape:
// Change texts according to the segment shape:
switch
(
m_item
->
GetShape
()
)
switch
(
m_item
->
GetShape
()
)
{
{
case
S_CIRCLE
:
case
S_CIRCLE
:
m_StartPointXLabel
->
SetLabel
(
_
(
"Center X"
));
SetTitle
(
_
(
"Circle Properties"
)
);
m_StartPointYLabel
->
SetLabel
(
_
(
"Center Y"
));
m_StartPointXLabel
->
SetLabel
(
_
(
"Center X"
)
);
m_EndPointXLabel
->
SetLabel
(
_
(
"Point X"
));
m_StartPointYLabel
->
SetLabel
(
_
(
"Center Y"
)
);
m_EndPointYLabel
->
SetLabel
(
_
(
"Point Y"
));
m_EndPointXLabel
->
SetLabel
(
_
(
"Point X"
)
);
m_Angle_Text
->
Show
(
false
);
m_EndPointYLabel
->
SetLabel
(
_
(
"Point Y"
)
);
m_Angle_Ctrl
->
Show
(
false
);
m_Angle_Text
->
Show
(
false
);
m_AngleUnit
->
Show
(
false
);
m_Angle_Ctrl
->
Show
(
false
);
m_AngleUnit
->
Show
(
false
);
break
;
break
;
case
S_ARC
:
case
S_ARC
:
m_StartPointXLabel
->
SetLabel
(
_
(
"Center X"
));
SetTitle
(
_
(
"Arc Properties"
)
);
m_StartPointYLabel
->
SetLabel
(
_
(
"Center Y"
));
m_StartPointXLabel
->
SetLabel
(
_
(
"Center X"
)
);
m_EndPointXLabel
->
SetLabel
(
_
(
"Start Point X"
));
m_StartPointYLabel
->
SetLabel
(
_
(
"Center Y"
)
);
m_EndPointYLabel
->
SetLabel
(
_
(
"Start Point Y"
));
m_EndPointXLabel
->
SetLabel
(
_
(
"Start Point X"
)
);
m_EndPointYLabel
->
SetLabel
(
_
(
"Start Point Y"
)
);
// Here the angle is a double, but the UI is still working
// Here the angle is a double, but the UI is still working
// with integers
// with integers
msg
<<
int
(
m_item
->
GetAngle
()
);
msg
<<
int
(
m_item
->
GetAngle
()
);
m_Angle_Ctrl
->
SetValue
(
msg
);
m_Angle_Ctrl
->
SetValue
(
msg
);
break
;
break
;
case
S_SEGMENT
:
SetTitle
(
_
(
"Line Segment Properties"
)
);
// Fall through.
default
:
default
:
m_Angle_Text
->
Show
(
false
);
m_Angle_Text
->
Show
(
false
);
m_Angle_Ctrl
->
Show
(
false
);
m_Angle_Ctrl
->
Show
(
false
);
m_AngleUnit
->
Show
(
false
);
m_AngleUnit
->
Show
(
false
);
break
;
break
;
}
}
...
@@ -185,8 +194,8 @@ void DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES::initDlg()
...
@@ -185,8 +194,8 @@ void DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES::initDlg()
if
(
m_LayerSelectionCtrl
->
SetLayerSelection
(
m_item
->
GetLayer
()
)
<
0
)
if
(
m_LayerSelectionCtrl
->
SetLayerSelection
(
m_item
->
GetLayer
()
)
<
0
)
{
{
wxMessageBox
(
_
(
"This item
has an illegal layer id
.
\n
"
wxMessageBox
(
_
(
"This item
was on an unknown layer
.
\n
"
"Now, forced on the front silk screen layer. Please, fix it
"
)
);
"It has been moved to the front silk screen layer. Please fix it.
"
)
);
m_LayerSelectionCtrl
->
SetLayerSelection
(
F_SilkS
);
m_LayerSelectionCtrl
->
SetLayerSelection
(
F_SilkS
);
}
}
}
}
...
@@ -198,12 +207,16 @@ void DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES::OnLayerChoice( wxCommandEvent& even
...
@@ -198,12 +207,16 @@ void DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES::OnLayerChoice( wxCommandEvent& even
{
{
}
}
/*******************************************************************/
/*******************************************************************/
void
DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES
::
OnOkClick
(
wxCommandEvent
&
event
)
void
DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES
::
OnOkClick
(
wxCommandEvent
&
event
)
/*******************************************************************/
/*******************************************************************/
/* Copy values in text control to the item parameters
/* Copy values in text control to the item parameters
*/
*/
{
{
if
(
!
itemValuesOK
()
)
return
;
LAYER_NUM
layer
=
m_LayerSelectionCtrl
->
GetLayerSelection
();
LAYER_NUM
layer
=
m_LayerSelectionCtrl
->
GetLayerSelection
();
if
(
IsCopperLayer
(
layer
)
)
if
(
IsCopperLayer
(
layer
)
)
...
@@ -250,7 +263,7 @@ void DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES::OnOkClick( wxCommandEvent& event )
...
@@ -250,7 +263,7 @@ void DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES::OnOkClick( wxCommandEvent& event )
{
{
double
angle
;
double
angle
;
m_Angle_Ctrl
->
GetValue
().
ToDouble
(
&
angle
);
m_Angle_Ctrl
->
GetValue
().
ToDouble
(
&
angle
);
NORMALIZE_ANGLE_360
(
angle
);
NORMALIZE_ANGLE_360
(
angle
);
m_item
->
SetAngle
(
angle
);
m_item
->
SetAngle
(
angle
);
}
}
...
@@ -259,3 +272,68 @@ void DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES::OnOkClick( wxCommandEvent& event )
...
@@ -259,3 +272,68 @@ void DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES::OnOkClick( wxCommandEvent& event )
Close
(
true
);
Close
(
true
);
}
}
bool
DIALOG_MODEDIT_FP_BODY_ITEM_PROPERTIES
::
itemValuesOK
()
{
wxArrayString
error_msgs
;
// Load the start and end points -- all types use these in the checks.
int
startx
=
ValueFromString
(
g_UserUnit
,
m_Center_StartXCtrl
->
GetValue
()
);
int
starty
=
ValueFromString
(
g_UserUnit
,
m_Center_StartYCtrl
->
GetValue
()
);
int
endx
=
ValueFromString
(
g_UserUnit
,
m_EndX_Radius_Ctrl
->
GetValue
()
);
int
endy
=
ValueFromString
(
g_UserUnit
,
m_EndY_Ctrl
->
GetValue
()
);
// Type specific checks.
switch
(
m_item
->
GetShape
()
)
{
case
S_ARC
:
// Check angle of arc.
double
angle
;
m_Angle_Ctrl
->
GetValue
().
ToDouble
(
&
angle
);
NORMALIZE_ANGLE_360
(
angle
);
if
(
angle
==
0
)
{
error_msgs
.
Add
(
_
(
"The arc angle must be greater than zero."
)
);
}
// Fall through.
case
S_CIRCLE
:
// Check radius.
if
(
(
startx
==
endx
)
&&
(
starty
==
endy
)
)
error_msgs
.
Add
(
_
(
"The radius must be greater than zero."
)
);
break
;
default
:
// Check start and end are not the same.
if
(
(
startx
==
endx
)
&&
(
starty
==
endy
)
)
error_msgs
.
Add
(
_
(
"The start and end points cannot be the same."
)
);
break
;
}
// Check the item thickness.
int
thickness
=
ValueFromString
(
g_UserUnit
,
m_ThicknessCtrl
->
GetValue
()
);
if
(
thickness
<=
0
)
error_msgs
.
Add
(
_
(
"The item thickness must be greater than zero."
)
);
// And the default thickness.
thickness
=
ValueFromString
(
g_UserUnit
,
m_DefaultThicknessCtrl
->
GetValue
()
);
if
(
thickness
<=
0
)
error_msgs
.
Add
(
_
(
"The default thickness must be greater than zero."
)
);
if
(
error_msgs
.
GetCount
()
)
{
HTML_MESSAGE_BOX
dlg
(
this
,
_
(
"Error list"
)
);
dlg
.
ListSet
(
error_msgs
);
dlg
.
ShowModal
();
}
return
error_msgs
.
GetCount
()
==
0
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment