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
607ec762
Commit
607ec762
authored
Jan 30, 2010
by
charras
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Code cleaning and more about work items visibility
parent
6216eccd
Changes
12
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
81 additions
and
68 deletions
+81
-68
lay2plot.cpp
gerbview/lay2plot.cpp
+0
-1
pcbstruct.h
include/pcbstruct.h
+0
-1
wxPcbStruct.h
include/wxPcbStruct.h
+29
-4
class_board.cpp
pcbnew/class_board.cpp
+1
-2
classpcb.cpp
pcbnew/classpcb.cpp
+0
-1
dialog_display_options.cpp
pcbnew/dialog_display_options.cpp
+4
-3
dialog_display_options.h
pcbnew/dialog_display_options.h
+2
-3
dialog_general_options.cpp
pcbnew/dialog_general_options.cpp
+3
-6
files.cpp
pcbnew/files.cpp
+8
-3
pcbframe.cpp
pcbnew/pcbframe.cpp
+27
-36
pcbnew_config.cpp
pcbnew/pcbnew_config.cpp
+5
-7
print_board_functions.cpp
pcbnew/print_board_functions.cpp
+2
-1
No files found.
gerbview/lay2plot.cpp
View file @
607ec762
...
...
@@ -20,7 +20,6 @@ void Print_PcbItems(BOARD * Pcb, wxDC *DC, int drawmode, int printmasklayer)
DisplayOpt
.
DisplayPadFill
=
FILLED
;
DisplayOpt
.
DisplayViaFill
=
FILLED
;
DisplayOpt
.
DisplayPadNum
=
0
;
DisplayOpt
.
DisplayPadNoConn
=
0
;
DisplayOpt
.
DisplayPadIsol
=
0
;
DisplayOpt
.
DisplayPcbTrackFill
=
FILLED
;
DisplayOpt
.
ShowTrackClearanceMode
=
DO_NOT_SHOW_CLEARANCE
;
...
...
include/pcbstruct.h
View file @
607ec762
...
...
@@ -101,7 +101,6 @@ public:
bool
DisplayPadFill
;
bool
DisplayViaFill
;
bool
DisplayPadNum
;
bool
DisplayPadNoConn
;
bool
DisplayPadIsol
;
int
DisplayModEdge
;
...
...
include/wxPcbStruct.h
View file @
607ec762
...
...
@@ -96,11 +96,8 @@ protected:
* <p>
* This function cannot be inline without including layer_widget.h in
* here and we do not want to do that.
* @param aRenderOnly: true to update render only, false (default) for full update
* if aRenderOnly = true, the page displayed by the layer manager is not changed
* if aRenderOnly = false, the page displayed after update is the layers list
*/
void
syncLayerWidget
(
bool
aRenderOnly
=
false
);
void
syncLayerWidget
(
);
/**
* Function syncLayerBox
...
...
@@ -186,6 +183,34 @@ public:
void
ReCreateMenuBar
();
WinEDAChoiceBox
*
ReCreateLayerBox
(
WinEDA_Toolbar
*
parent
);
/**
* Function IsElementVisible
* tests whether a given element category is visible. Keep this as an
* inline function.
* @param aPCB_VISIBLE is from the enum by the same name
* @return bool - true if the element is visible.
* @see enum PCB_VISIBLE
*/
bool
IsElementVisible
(
int
aPCB_VISIBLE
)
{
return
GetBoard
()
->
IsElementVisible
(
aPCB_VISIBLE
);
}
/**
* Function SetElementVisibility
* changes the visibility of an element category
* @param aPCB_VISIBLE is from the enum by the same name
* @param aNewState = The new visibility state of the element category
* @see enum PCB_VISIBLE
*/
void
SetElementVisibility
(
int
aPCB_VISIBLE
,
bool
aNewState
);
/**
* Function SetVisibleAlls
* Set the status of all visible element categories and layers to VISIBLE
*/
void
SetVisibleAlls
(
);
/**
* Function ReFillLayerWidget
* changes out all the layers in m_Layers and may be called upon
...
...
pcbnew/class_board.cpp
View file @
607ec762
...
...
@@ -392,6 +392,7 @@ void BOARD::SetVisibleElements( int aMask )
{
/* Call SetElementVisibility for each item,
* to ensure specific calculations that can be needed by some items
* just change the visibility flags could be not sufficient
*/
for
(
int
ii
=
0
;
ii
<
PCB_VISIBLE
(
END_PCB_VISIBLE_LIST
);
ii
++
)
{
...
...
@@ -408,9 +409,7 @@ void BOARD::SetVisibleAlls( )
* to ensure specific calculations that can be needed by some items
*/
for
(
int
ii
=
0
;
ii
<
PCB_VISIBLE
(
END_PCB_VISIBLE_LIST
);
ii
++
)
{
SetElementVisibility
(
ii
,
true
);
}
}
...
...
pcbnew/classpcb.cpp
View file @
607ec762
...
...
@@ -146,7 +146,6 @@ DISPLAY_OPTIONS::DISPLAY_OPTIONS()
DisplayPadFill
=
FILLED
;
DisplayViaFill
=
FILLED
;
DisplayPadNum
=
true
;
DisplayPadNoConn
=
true
;
DisplayPadIsol
=
true
;
DisplayModEdge
=
true
;
...
...
pcbnew/dialog_display_options.cpp
View file @
607ec762
...
...
@@ -29,7 +29,7 @@ void WinEDA_PcbFrame::InstallDisplayOptionsDialog( wxCommandEvent& aEvent )
/*******************************************************************************/
Dialog_Display_Options
::
Dialog_Display_Options
(
WinEDA_
Base
PcbFrame
*
parent
)
:
Dialog_Display_Options
::
Dialog_Display_Options
(
WinEDA_PcbFrame
*
parent
)
:
DialogDisplayOptions_base
(
parent
)
/*******************************************************************************/
{
...
...
@@ -81,7 +81,7 @@ void Dialog_Display_Options::init()
m_OptDisplayModEdges
->
SetSelection
(
DisplayOpt
.
DisplayModEdge
);
m_OptDisplayPadClearence
->
SetValue
(
DisplayOpt
.
DisplayPadIsol
);
m_OptDisplayPadNumber
->
SetValue
(
DisplayOpt
.
DisplayPadNum
);
m_OptDisplayPadNoConn
->
SetValue
(
DisplayOpt
.
DisplayPadNoConn
);
m_OptDisplayPadNoConn
->
SetValue
(
m_Parent
->
IsElementVisible
(
PCB_VISIBLE
(
NO_CONNECTS_VISIBLE
)
)
);
m_OptDisplayDrawings
->
SetSelection
(
DisplayOpt
.
DisplayDrawItems
);
m_ShowNetNamesOption
->
SetSelection
(
DisplayOpt
.
DisplayNetNamesMode
);
...
...
@@ -152,7 +152,8 @@ void Dialog_Display_Options::OnOkClick(wxCommandEvent& event)
m_Parent
->
m_DisplayPadNum
=
DisplayOpt
.
DisplayPadNum
=
m_OptDisplayPadNumber
->
GetValue
();
DisplayOpt
.
DisplayPadNoConn
=
m_OptDisplayPadNoConn
->
GetValue
();
m_Parent
->
SetElementVisibility
(
PCB_VISIBLE
(
NO_CONNECTS_VISIBLE
),
m_OptDisplayPadNoConn
->
GetValue
());
DisplayOpt
.
DisplayDrawItems
=
m_OptDisplayDrawings
->
GetSelection
();
DisplayOpt
.
DisplayNetNamesMode
=
m_ShowNetNamesOption
->
GetSelection
();
...
...
pcbnew/dialog_display_options.h
View file @
607ec762
...
...
@@ -6,13 +6,12 @@
class
Dialog_Display_Options
:
public
DialogDisplayOptions_base
{
private
:
WinEDA_
Base
PcbFrame
*
m_Parent
;
WinEDA_PcbFrame
*
m_Parent
;
void
init
();
public
:
Dialog_Display_Options
(
WinEDA_BasePcbFrame
*
parent
);
Dialog_Display_Options
(
WinEDA_BasePcbFrame
*
,
wxWindow
*
);
Dialog_Display_Options
(
WinEDA_PcbFrame
*
parent
);
~
Dialog_Display_Options
(
)
{
};
void
OnOkClick
(
wxCommandEvent
&
event
);
void
OnCancelClick
(
wxCommandEvent
&
event
);
...
...
pcbnew/dialog_general_options.cpp
View file @
607ec762
...
...
@@ -98,7 +98,7 @@ void Dialog_GeneralOptions::OnOkClick( wxCommandEvent& event )
Drc_On
=
m_DrcOn
->
GetValue
();
if
(
m_Board
->
IsElementVisible
(
RATSNEST_VISIBLE
)
!=
m_ShowGlobalRatsnest
->
GetValue
()
)
{
m_
Board
->
SetElementVisibility
(
RATSNEST_VISIBLE
,
m_ShowGlobalRatsnest
->
GetValue
()
);
m_
Parent
->
SetElementVisibility
(
RATSNEST_VISIBLE
,
m_ShowGlobalRatsnest
->
GetValue
()
);
m_Parent
->
DrawPanel
->
Refresh
(
);
}
g_Show_Module_Ratsnest
=
m_ShowModuleRatsnest
->
GetValue
();
...
...
@@ -159,20 +159,17 @@ void WinEDA_PcbFrame::OnSelectOptionToolbar( wxCommandEvent& event )
break
;
case
ID_TB_OPTIONS_SHOW_GRID
:
GetBoard
()
->
SetElementVisibility
(
GRID_VISIBLE
,
state
);
syncLayerWidget
(
true
);
SetElementVisibility
(
GRID_VISIBLE
,
state
);
DrawPanel
->
Refresh
();
break
;
case
ID_TB_OPTIONS_SHOW_RATSNEST
:
GetBoard
()
->
SetElementVisibility
(
RATSNEST_VISIBLE
,
state
);
syncLayerWidget
(
true
);
SetElementVisibility
(
RATSNEST_VISIBLE
,
state
);
DrawPanel
->
Refresh
(
);
break
;
case
ID_TB_OPTIONS_SHOW_MODULE_RATSNEST
:
g_Show_Module_Ratsnest
=
state
;
// TODO: use the visibility list
syncLayerWidget
(
true
);
break
;
case
ID_TB_OPTIONS_SELECT_UNIT_MM
:
...
...
pcbnew/files.cpp
View file @
607ec762
...
...
@@ -245,11 +245,16 @@ this file again."));
/* Rebuild the new pad list (for drc and ratsnet control ...) */
GetBoard
()
->
m_Status_Pcb
=
0
;
/* Reset the
layers and
items visibility flag when loading a new config
/* Reset the items visibility flag when loading a new config
* Because it could creates SERIOUS mistakes for the user,
* if some enabled layers or items are not visible after loading a board...
* if board items are not visible after loading a board...
* Grid and ratsnest can be left to their previous state
*/
GetBoard
()
->
m_BoardSettings
->
SetVisibleAlls
(
);
bool
showGrid
=
IsElementVisible
(
GRID_VISIBLE
);
bool
showRats
=
IsElementVisible
(
RATSNEST_VISIBLE
);
SetVisibleAlls
(
);
SetElementVisibility
(
GRID_VISIBLE
,
showGrid
);
SetElementVisibility
(
RATSNEST_VISIBLE
,
showRats
);
// Update info shown by the horizontal toolbars
GetBoard
()
->
SetCurrentNetClass
(
NETCLASS
::
Default
);
...
...
pcbnew/pcbframe.cpp
View file @
607ec762
...
...
@@ -85,9 +85,6 @@ public:
PCB_LAYER_WIDGET
(
WinEDA_PcbFrame
*
aParent
,
wxWindow
*
aFocusOwner
,
int
aPointSize
=
10
);
void
ReFill
();
// Update Show/hide checkbox state in render page
// must be called when a Show/hide option is changed outside the layer manager
void
RenderSynchronize
(
);
//-----<implement LAYER_WIDGET abstract callback functions>-----------
void
OnLayerColorChange
(
int
aLayer
,
int
aColor
);
...
...
@@ -318,34 +315,6 @@ void PCB_LAYER_WIDGET::ReFill()
// m_Layers->Thaw();
}
// Update the checkboxes state of each row of the render.
void
PCB_LAYER_WIDGET
::
RenderSynchronize
(
)
{
BOARD
*
brd
=
myframe
->
GetBoard
();
wxSizerItemList
&
sizerslist
=
m_RenderFlexGridSizer
->
GetChildren
();
for
(
unsigned
ii
=
0
;
ii
<
PCB_VISIBLE
(
END_PCB_VISIBLE_LIST
);
++
ii
)
{
unsigned
idx
=
ii
*
m_RenderFlexGridSizer
->
GetCols
();
// idx points the first size of a m_RenderFlexGridSizer row
// the checkbox to update is managed by the second sizer
idx
=
idx
+
1
;
if
(
idx
>=
sizerslist
.
size
()
)
break
;
// Should not occur
// Get the sizer that manages the check box to update
wxSizerItem
*
sizer
=
sizerslist
[
idx
];
// Get the checkbox and update its state.
wxCheckBox
*
cb
=
(
wxCheckBox
*
)
sizer
->
GetWindow
();
if
(
cb
)
{
// Calculate the visible item id
int
id
=
getDecodedId
(
cb
->
GetId
());
cb
->
SetValue
(
brd
->
IsElementVisible
(
id
));
}
}
}
//-----<LAYER_WIDGET callbacks>-------------------------------------------
void
PCB_LAYER_WIDGET
::
OnLayerColorChange
(
int
aLayer
,
int
aColor
)
...
...
@@ -854,7 +823,6 @@ void WinEDA_PcbFrame::ShowDesignRulesEditor( wxCommandEvent& event )
if
(
returncode
==
wxID_OK
)
// New rules, or others changes.
{
ReCreateLayerBox
(
NULL
);
// ReFillLayerWidget(); why?
GetScreen
()
->
SetModify
();
}
}
...
...
@@ -905,10 +873,33 @@ void WinEDA_PcbFrame::SaveSettings()
}
void
WinEDA_PcbFrame
::
syncLayerWidget
(
bool
aRenderOnly
)
void
WinEDA_PcbFrame
::
syncLayerWidget
(
)
{
if
(
!
aRenderOnly
)
m_Layers
->
SelectLayer
(
getActiveLayer
()
);
m_Layers
->
RenderSynchronize
(
);
}
/**
* Function SetElementVisibility
* changes the visibility of an element category
* @param aPCB_VISIBLE is from the enum by the same name
* @param aNewState = The new visibility state of the element category
* @see enum PCB_VISIBLE
*/
void
WinEDA_PcbFrame
::
SetElementVisibility
(
int
aPCB_VISIBLE
,
bool
aNewState
)
{
GetBoard
()
->
SetElementVisibility
(
aPCB_VISIBLE
,
aNewState
);
m_Layers
->
SetRenderState
(
aPCB_VISIBLE
,
aNewState
);
}
/**
* Function SetVisibleAlls
* Set the status of all visible element categories and layers to VISIBLE
*/
void
WinEDA_PcbFrame
::
SetVisibleAlls
(
)
{
GetBoard
()
->
SetVisibleAlls
(
);
for
(
int
ii
=
0
;
ii
<
PCB_VISIBLE
(
END_PCB_VISIBLE_LIST
);
ii
++
)
m_Layers
->
SetRenderState
(
ii
,
true
);
}
pcbnew/pcbnew_config.cpp
View file @
607ec762
...
...
@@ -194,13 +194,11 @@ bool WinEDA_PcbFrame::Read_Config( const wxString& projectFileName )
* if board items are not visible after loading a board...
* Grid and ratsnest can be left to their previous state
*/
bool
showGrid
=
GetBoard
()
->
IsElementVisible
(
GRID_VISIBLE
);
bool
showRats
=
GetBoard
()
->
IsElementVisible
(
RATSNEST_VISIBLE
);
GetBoard
()
->
SetVisibleAlls
(
);
GetBoard
()
->
SetElementVisibility
(
GRID_VISIBLE
,
showGrid
);
GetBoard
()
->
SetElementVisibility
(
RATSNEST_VISIBLE
,
showRats
);
DisplayOpt
.
DisplayPadNoConn
=
true
;
bool
showGrid
=
IsElementVisible
(
GRID_VISIBLE
);
bool
showRats
=
IsElementVisible
(
RATSNEST_VISIBLE
);
SetVisibleAlls
(
);
SetElementVisibility
(
GRID_VISIBLE
,
showGrid
);
SetElementVisibility
(
RATSNEST_VISIBLE
,
showRats
);
return
TRUE
;
}
...
...
pcbnew/print_board_functions.cpp
View file @
607ec762
...
...
@@ -62,7 +62,7 @@ void WinEDA_DrawPanel::PrintPage( wxDC* aDC,
frame
->
m_DisplayPadFill
=
DisplayOpt
.
DisplayPadFill
;
frame
->
m_DisplayViaFill
=
DisplayOpt
.
DisplayViaFill
;
frame
->
m_DisplayPadNum
=
DisplayOpt
.
DisplayPadNum
=
false
;
DisplayOpt
.
DisplayPadNoConn
=
false
;
bool
nctmp
=
frame
->
GetBoard
()
->
IsElementVisible
(
NO_CONNECTS_VISIBLE
)
;
DisplayOpt
.
DisplayPadIsol
=
false
;
DisplayOpt
.
DisplayModEdge
=
FILLED
;
DisplayOpt
.
DisplayModText
=
FILLED
;
...
...
@@ -190,6 +190,7 @@ void WinEDA_DrawPanel::PrintPage( wxDC* aDC,
frame
->
m_DisplayPadFill
=
DisplayOpt
.
DisplayPadFill
;
frame
->
m_DisplayViaFill
=
DisplayOpt
.
DisplayViaFill
;
frame
->
m_DisplayPadNum
=
DisplayOpt
.
DisplayPadNum
;
frame
->
GetBoard
()
->
SetElementVisibility
(
NO_CONNECTS_VISIBLE
,
nctmp
);
}
...
...
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