KiCad PCB EDA Suite
|
Handle the graphic items list to draw/plot the frame and title block. More...
#include <ds_data_model.h>
Public Member Functions | |
DS_DATA_MODEL () | |
~DS_DATA_MODEL () | |
int | GetFileFormatVersionAtLoad () |
void | SetFileFormatVersionAtLoad (int aVersion) |
double | GetLeftMargin () |
void | SetLeftMargin (double aMargin) |
double | GetRightMargin () |
void | SetRightMargin (double aMargin) |
double | GetTopMargin () |
void | SetTopMargin (double aMargin) |
double | GetBottomMargin () |
void | SetBottomMargin (double aMargin) |
void | SetupDrawEnvironment (const PAGE_INFO &aPageInfo, double aMilsToIU) |
void | AllowVoidList (bool Allow) |
In KiCad applications, a drawing sheet is needed So if the list is empty, a default drawing sheet is loaded, the first time it is drawn. | |
bool | VoidListAllowed () |
void | ClearList () |
Erase the list of items. | |
void | Save (const wxString &aFullFileName) |
Save the description in a file. | |
void | SaveInString (wxString *aOutputString) |
Save the description in a buffer. | |
void | SaveInString (std::vector< DS_DATA_ITEM * > &aItemsList, wxString *aOutputString) |
Fill the given string with an S-expr serialization of the WS_DATA_ITEMs. | |
void | Append (DS_DATA_ITEM *aItem) |
void | Remove (DS_DATA_ITEM *aItem) |
DS_DATA_ITEM * | GetItem (unsigned aIdx) const |
std::vector< DS_DATA_ITEM * > & | GetItems () |
unsigned | GetCount () const |
void | SetDefaultLayout () |
void | SetEmptyLayout () |
bool | LoadDrawingSheet (const wxString &aFullFileName, wxString *aMsg, bool aAppend=false) |
Populates the list with a custom layout or the default layout if no custom layout is available. | |
void | SetPageLayout (const char *aPageLayout, bool aAppend=false, const wxString &aSource=wxT("Sexpr_string")) |
Populate the list from a S expr description stored in a string. | |
Static Public Member Functions | |
static DS_DATA_MODEL & | GetTheInstance () |
static function: returns the instance of DS_DATA_MODEL used in the application | |
static void | SetAltInstance (DS_DATA_MODEL *aLayout=nullptr) |
Set an alternate instance of DS_DATA_MODEL. | |
static wxString | EmptyLayout () |
Return a string containing the empty layout shape. | |
static wxString | DefaultLayout () |
Return a string containing the empty layout shape. | |
static const wxString | ResolvePath (const wxString &aPath, const wxString &aProjectPath) |
Resolve a path which might be project-relative or contain env variable references. | |
Public Attributes | |
double | m_WSunits2Iu |
VECTOR2D | m_RB_Corner |
VECTOR2D | m_LT_Corner |
double | m_DefaultLineWidth |
VECTOR2D | m_DefaultTextSize |
double | m_DefaultTextThickness |
bool | m_EditMode |
Private Attributes | |
std::vector< DS_DATA_ITEM * > | m_list |
bool | m_allowVoidList |
int | m_fileFormatVersionAtLoad |
double | m_leftMargin |
double | m_rightMargin |
double | m_topMargin |
double | m_bottomMargin |
Handle the graphic items list to draw/plot the frame and title block.
Definition at line 38 of file ds_data_model.h.
DS_DATA_MODEL::DS_DATA_MODEL | ( | ) |
Definition at line 60 of file ds_data_model.cpp.
References m_allowVoidList, m_bottomMargin, m_fileFormatVersionAtLoad, m_leftMargin, m_rightMargin, and m_topMargin.
|
inline |
Definition at line 43 of file ds_data_model.h.
References ClearList().
|
inline |
In KiCad applications, a drawing sheet is needed So if the list is empty, a default drawing sheet is loaded, the first time it is drawn.
However, in drawing sheet editor an empty list is acceptable. AllowVoidList allows or not the empty list
Definition at line 83 of file ds_data_model.h.
References m_allowVoidList.
Referenced by PL_EDITOR_FRAME::Files_io(), DRAWING_SHEET_PARSER::parseSetup(), and PL_EDITOR_FRAME::PL_EDITOR_FRAME().
void DS_DATA_MODEL::Append | ( | DS_DATA_ITEM * | aItem | ) |
Definition at line 127 of file ds_data_model.cpp.
References m_list.
Referenced by PL_EDITOR_FRAME::AddDrawingSheetItem(), DRAWING_SHEET_PARSER::Parse(), PL_EDIT_TOOL::Paste(), and SetPageLayout().
void DS_DATA_MODEL::ClearList | ( | ) |
Erase the list of items.
Definition at line 118 of file ds_data_model.cpp.
References m_list.
Referenced by PL_EDITOR_FRAME::doCloseWindow(), PL_EDITOR_FRAME::Files_io(), LoadDrawingSheet(), PL_EDITOR_FRAME::PL_EDITOR_FRAME(), SetPageLayout(), and ~DS_DATA_MODEL().
|
static |
Return a string containing the empty layout shape.
Definition at line 923 of file drawing_sheet_parser.cpp.
References defaultDrawingSheet.
|
static |
Return a string containing the empty layout shape.
Definition at line 938 of file drawing_sheet_parser.cpp.
References emptyDrawingSheet.
|
inline |
Definition at line 72 of file ds_data_model.h.
References m_bottomMargin.
Referenced by PROPERTIES_FRAME::CopyPrmsFromGeneralToPanel(), DS_DATA_MODEL_IO::Format(), and SetupDrawEnvironment().
|
inline |
Definition at line 130 of file ds_data_model.h.
References m_list.
Referenced by DS_DRAW_ITEM_LIST::BuildDrawItemsList(), and DS_DATA_MODEL_IO::Format().
|
inline |
Definition at line 60 of file ds_data_model.h.
References m_fileFormatVersionAtLoad.
DS_DATA_ITEM * DS_DATA_MODEL::GetItem | ( | unsigned | aIdx | ) | const |
Definition at line 140 of file ds_data_model.cpp.
References m_list.
Referenced by DS_PROXY_UNDO_ITEM::DS_PROXY_UNDO_ITEM(), DS_DATA_MODEL_IO::Format(), and DS_PROXY_UNDO_ITEM::Restore().
|
inline |
Definition at line 125 of file ds_data_model.h.
References m_list.
Referenced by DS_DRAW_ITEM_LIST::BuildDrawItemsList(), DS_PROXY_UNDO_ITEM::DS_PROXY_UNDO_ITEM(), PL_EDIT_TOOL::Paste(), PL_EDITOR_FRAME::PrintPage(), PLEDITOR_PRINTOUT::PrintPage(), DIALOG_INSPECTOR::ReCreateDesignList(), and DS_PROXY_UNDO_ITEM::Restore().
|
inline |
Definition at line 63 of file ds_data_model.h.
References m_leftMargin.
Referenced by PROPERTIES_FRAME::CopyPrmsFromGeneralToPanel(), DS_DATA_MODEL_IO::Format(), and SetupDrawEnvironment().
|
inline |
Definition at line 66 of file ds_data_model.h.
References m_rightMargin.
Referenced by PROPERTIES_FRAME::CopyPrmsFromGeneralToPanel(), DS_DATA_MODEL_IO::Format(), and SetupDrawEnvironment().
|
static |
static function: returns the instance of DS_DATA_MODEL used in the application
Definition at line 78 of file ds_data_model.cpp.
References wksAltInstance, and wksTheInstance.
Referenced by PL_EDITOR_FRAME::AddDrawingSheetItem(), DS_DRAW_ITEM_LIST::BuildDrawItemsList(), PL_EDIT_TOOL::Copy(), PROPERTIES_FRAME::CopyPrmsFromGeneralToPanel(), PROPERTIES_FRAME::CopyPrmsFromPanelToGeneral(), DIALOG_PAGES_SETTINGS::DIALOG_PAGES_SETTINGS(), PL_DRAW_PANEL_GAL::DisplayDrawingSheet(), PL_EDITOR_FRAME::doCloseWindow(), PL_EDIT_TOOL::DoDelete(), DS_PROXY_UNDO_ITEM::DS_PROXY_UNDO_ITEM(), PL_EDITOR_FRAME::Files_io(), DS_DATA_ITEM_POLYGONS::GetCornerPositionIU(), DS_DATA_ITEM::GetEndPos(), DS_DATA_ITEM::GetEndPosIU(), DS_DATA_ITEM::GetPenSizeIU(), DS_DATA_ITEM_POLYGONS::GetPenSizeIU(), DS_DATA_ITEM_TEXT::GetPenSizeIU(), DS_DATA_ITEM::GetStartPos(), DS_DATA_ITEM::GetStartPosIU(), SCH_EDIT_FRAME::importFile(), EESCHEMA_JOBS_HANDLER::InitRenderSettings(), PL_EDITOR_FRAME::InsertDrawingSheetFile(), PL_EDIT_TOOL::InteractiveDelete(), DS_DATA_ITEM::IsInsidePage(), DS_DATA_ITEM_POLYGONS::IsInsidePage(), LoadBoard(), SCH_EDIT_FRAME::LoadDrawingSheet(), PCB_EDIT_FRAME::LoadDrawingSheet(), PL_EDITOR_FRAME::LoadDrawingSheetFile(), PCBNEW_JOBS_HANDLER::loadOverrideDrawingSheet(), DS_DATA_ITEM::MoveEndPointTo(), DS_DATA_ITEM::MoveEndPointToIU(), DS_DATA_ITEM::MoveStartPointTo(), DS_DATA_ITEM::MoveStartPointToIU(), DS_DATA_ITEM::MoveToIU(), PROPERTIES_FRAME::OnSetDefaultValues(), PL_EDIT_TOOL::Paste(), PL_EDITOR_FRAME::PL_EDITOR_FRAME(), PL_EDITOR_FRAME::PrintPage(), PLEDITOR_PRINTOUT::PrintPage(), PL_SELECTION_TOOL::RebuildSelection(), DIALOG_INSPECTOR::ReCreateDesignList(), DS_PROXY_UNDO_ITEM::Restore(), PL_EDITOR_FRAME::SaveDrawingSheetFile(), DIALOG_PAGES_SETTINGS::SavePageSettings(), SCH_EDIT_FRAME::saveProjectSettings(), PL_SELECTION_TOOL::selectMultiple(), PL_SELECTION_TOOL::SelectPoint(), DS_DATA_ITEM_TEXT::SetConstrainedTextSize(), PL_EDITOR_FRAME::setupUIConditions(), DS_DATA_ITEM_TEXT::SyncDrawItems(), and PL_EDITOR_CONTROL::TitleBlockDisplayMode().
|
inline |
Definition at line 69 of file ds_data_model.h.
References m_topMargin.
Referenced by PROPERTIES_FRAME::CopyPrmsFromGeneralToPanel(), DS_DATA_MODEL_IO::Format(), and SetupDrawEnvironment().
bool DS_DATA_MODEL::LoadDrawingSheet | ( | const wxString & | aFullFileName, |
wxString * | aMsg, | ||
bool | aAppend = false |
||
) |
Populates the list with a custom layout or the default layout if no custom layout is available.
aFullFileName | is the custom drawing sheet file. If empty, load the file defined by KICAD_WKSFILE and if its not defined, the default internal drawing sheet. |
aMsg | [optional] if non-null, will be filled with any error messages. |
aAppend | if true: do not delete old layout, and load only aFullFileName. |
Definition at line 962 of file drawing_sheet_parser.cpp.
References _, ClearList(), DRAWING_SHEET_PARSER::Parse(), SetDefaultLayout(), and IO_ERROR::What().
Referenced by DS_DRAW_ITEM_LIST::BuildDrawItemsList(), EESCHEMA_JOBS_HANDLER::InitRenderSettings(), PL_EDITOR_FRAME::InsertDrawingSheetFile(), PCBNEW_JOBS_HANDLER::loadOverrideDrawingSheet(), and PL_EDITOR_FRAME::PL_EDITOR_FRAME().
void DS_DATA_MODEL::Remove | ( | DS_DATA_ITEM * | aItem | ) |
Definition at line 133 of file ds_data_model.cpp.
References m_list.
Referenced by PL_EDIT_TOOL::DoDelete().
|
static |
Resolve a path which might be project-relative or contain env variable references.
void DS_DATA_MODEL::Save | ( | const wxString & | aFullFileName | ) |
Save the description in a file.
aFullFileName | the filename of the file to created. |
Definition at line 139 of file ds_data_model_io.cpp.
References DS_DATA_MODEL_IO::Format().
Referenced by PL_EDITOR_FRAME::SaveDrawingSheetFile(), and SCH_EDIT_FRAME::saveProjectSettings().
void DS_DATA_MODEL::SaveInString | ( | std::vector< DS_DATA_ITEM * > & | aItemsList, |
wxString * | aOutputString | ||
) |
Fill the given string with an S-expr serialization of the WS_DATA_ITEMs.
Definition at line 153 of file ds_data_model_io.cpp.
References DS_DATA_MODEL_IO::Format().
void DS_DATA_MODEL::SaveInString | ( | wxString * | aOutputString | ) |
Save the description in a buffer.
aOutputString | is a wxString to store the S expr string |
Definition at line 146 of file ds_data_model_io.cpp.
References DS_DATA_MODEL_IO::Format().
Referenced by PL_EDIT_TOOL::Copy(), DIALOG_PAGES_SETTINGS::DIALOG_PAGES_SETTINGS(), and DS_PROXY_UNDO_ITEM::DS_PROXY_UNDO_ITEM().
|
static |
Set an alternate instance of DS_DATA_MODEL.
static function: Set an alternate instance of DS_DATA_MODEL mainly used in page setting dialog
aLayout | the alternate drawing sheet; if null restore the default drawing sheet |
aLayout | = the alternate drawing sheet. if null, restore the basic drawing sheet |
Definition at line 92 of file ds_data_model.cpp.
References wksAltInstance.
Referenced by DIALOG_PAGES_SETTINGS::UpdateDrawingSheetExample().
|
inline |
Definition at line 73 of file ds_data_model.h.
References m_bottomMargin.
Referenced by PROPERTIES_FRAME::CopyPrmsFromPanelToGeneral(), and DRAWING_SHEET_PARSER::parseSetup().
void DS_DATA_MODEL::SetDefaultLayout | ( | ) |
Definition at line 917 of file drawing_sheet_parser.cpp.
References defaultDrawingSheet, and SetPageLayout().
Referenced by LoadDrawingSheet().
void DS_DATA_MODEL::SetEmptyLayout | ( | ) |
Definition at line 932 of file drawing_sheet_parser.cpp.
References emptyDrawingSheet, and SetPageLayout().
Referenced by SCH_EDIT_FRAME::importFile().
|
inline |
Definition at line 61 of file ds_data_model.h.
References m_fileFormatVersionAtLoad.
Referenced by DRAWING_SHEET_PARSER::Parse().
|
inline |
Definition at line 64 of file ds_data_model.h.
References m_leftMargin.
Referenced by PROPERTIES_FRAME::CopyPrmsFromPanelToGeneral(), and DRAWING_SHEET_PARSER::parseSetup().
void DS_DATA_MODEL::SetPageLayout | ( | const char * | aPageLayout, |
bool | aAppend = false , |
||
const wxString & | aSource = wxT( "Sexpr_string" ) |
||
) |
Populate the list from a S expr description stored in a string.
aPageLayout | is the S expr string. |
aAppend | Do not delete old layout if true and append aPageLayout the existing one. |
aSource | is the layout source description. |
Definition at line 944 of file drawing_sheet_parser.cpp.
References Append(), ClearList(), and DRAWING_SHEET_PARSER::Parse().
Referenced by DIALOG_PAGES_SETTINGS::DIALOG_PAGES_SETTINGS(), PL_EDIT_TOOL::Paste(), DS_PROXY_UNDO_ITEM::Restore(), SetDefaultLayout(), and SetEmptyLayout().
|
inline |
Definition at line 67 of file ds_data_model.h.
References m_rightMargin.
Referenced by PROPERTIES_FRAME::CopyPrmsFromPanelToGeneral(), and DRAWING_SHEET_PARSER::parseSetup().
|
inline |
Definition at line 70 of file ds_data_model.h.
References m_topMargin.
Referenced by PROPERTIES_FRAME::CopyPrmsFromPanelToGeneral(), and DRAWING_SHEET_PARSER::parseSetup().
void DS_DATA_MODEL::SetupDrawEnvironment | ( | const PAGE_INFO & | aPageInfo, |
double | aMilsToIU | ||
) |
Definition at line 98 of file ds_data_model.cpp.
References GetBottomMargin(), GetLeftMargin(), GetRightMargin(), PAGE_INFO::GetSizeMils(), GetTopMargin(), m_LT_Corner, m_RB_Corner, m_WSunits2Iu, MILS_TO_MM, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by DS_DRAW_ITEM_LIST::BuildDrawItemsList().
|
inline |
Definition at line 88 of file ds_data_model.h.
References m_allowVoidList.
Referenced by DS_DRAW_ITEM_LIST::BuildDrawItemsList().
|
private |
Definition at line 188 of file ds_data_model.h.
Referenced by AllowVoidList(), DS_DATA_MODEL(), and VoidListAllowed().
|
private |
Definition at line 195 of file ds_data_model.h.
Referenced by DS_DATA_MODEL(), GetBottomMargin(), and SetBottomMargin().
double DS_DATA_MODEL::m_DefaultLineWidth |
Definition at line 177 of file ds_data_model.h.
Referenced by PROPERTIES_FRAME::CopyPrmsFromGeneralToPanel(), PROPERTIES_FRAME::CopyPrmsFromPanelToGeneral(), DS_DATA_MODEL_IO::format(), DS_DATA_MODEL_IO::Format(), DS_DATA_ITEM::GetPenSizeIU(), PROPERTIES_FRAME::OnSetDefaultValues(), and DRAWING_SHEET_PARSER::parseSetup().
VECTOR2D DS_DATA_MODEL::m_DefaultTextSize |
Definition at line 178 of file ds_data_model.h.
Referenced by PROPERTIES_FRAME::CopyPrmsFromGeneralToPanel(), PROPERTIES_FRAME::CopyPrmsFromPanelToGeneral(), DS_DATA_MODEL_IO::Format(), PROPERTIES_FRAME::OnSetDefaultValues(), DRAWING_SHEET_PARSER::parseSetup(), and DS_DATA_ITEM_TEXT::SetConstrainedTextSize().
double DS_DATA_MODEL::m_DefaultTextThickness |
Definition at line 179 of file ds_data_model.h.
Referenced by PROPERTIES_FRAME::CopyPrmsFromGeneralToPanel(), PROPERTIES_FRAME::CopyPrmsFromPanelToGeneral(), DS_DATA_MODEL_IO::Format(), DS_DATA_ITEM_TEXT::GetPenSizeIU(), PROPERTIES_FRAME::OnSetDefaultValues(), and DRAWING_SHEET_PARSER::parseSetup().
bool DS_DATA_MODEL::m_EditMode |
Definition at line 180 of file ds_data_model.h.
Referenced by PL_EDITOR_FRAME::PL_EDITOR_FRAME(), PL_EDITOR_FRAME::setupUIConditions(), and PL_EDITOR_CONTROL::TitleBlockDisplayMode().
|
private |
Definition at line 191 of file ds_data_model.h.
Referenced by DS_DATA_MODEL(), GetFileFormatVersionAtLoad(), and SetFileFormatVersionAtLoad().
|
private |
Definition at line 192 of file ds_data_model.h.
Referenced by DS_DATA_MODEL(), GetLeftMargin(), and SetLeftMargin().
|
private |
Definition at line 187 of file ds_data_model.h.
Referenced by Append(), ClearList(), GetCount(), GetItem(), GetItems(), and Remove().
VECTOR2D DS_DATA_MODEL::m_LT_Corner |
Definition at line 176 of file ds_data_model.h.
Referenced by DS_DATA_ITEM::GetEndPos(), DS_DATA_ITEM::GetStartPos(), DS_DATA_ITEM::IsInsidePage(), DS_DATA_ITEM_POLYGONS::IsInsidePage(), DS_DATA_ITEM::MoveEndPointTo(), DS_DATA_ITEM::MoveStartPointTo(), and SetupDrawEnvironment().
VECTOR2D DS_DATA_MODEL::m_RB_Corner |
Definition at line 175 of file ds_data_model.h.
Referenced by DS_DATA_ITEM::GetEndPos(), DS_DATA_ITEM::GetStartPos(), DS_DATA_ITEM::IsInsidePage(), DS_DATA_ITEM_POLYGONS::IsInsidePage(), DS_DATA_ITEM::MoveEndPointTo(), DS_DATA_ITEM::MoveStartPointTo(), and SetupDrawEnvironment().
|
private |
Definition at line 193 of file ds_data_model.h.
Referenced by DS_DATA_MODEL(), GetRightMargin(), and SetRightMargin().
|
private |
Definition at line 194 of file ds_data_model.h.
Referenced by DS_DATA_MODEL(), GetTopMargin(), and SetTopMargin().
double DS_DATA_MODEL::m_WSunits2Iu |
Definition at line 173 of file ds_data_model.h.
Referenced by DS_DATA_ITEM_POLYGONS::GetCornerPositionIU(), DS_DATA_ITEM::GetEndPosIU(), DS_DATA_ITEM::GetPenSizeIU(), DS_DATA_ITEM_TEXT::GetPenSizeIU(), DS_DATA_ITEM::GetStartPosIU(), DS_DATA_ITEM::MoveEndPointToIU(), DS_DATA_ITEM::MoveStartPointToIU(), DS_DATA_ITEM::MoveToIU(), SetupDrawEnvironment(), and DS_DATA_ITEM_TEXT::SyncDrawItems().