Revision: 54433
http://brlcad.svn.sourceforge.net/brlcad/?rev=54433&view=rev
Author: bob1961
Date: 2013-02-19 17:52:49 +0000 (Tue, 19 Feb 2013)
Log Message:
-----------
Refactored a bit of code related to the various edit panels. Also added code to
clear data associated with highlighting the primitives being edited.
Modified Paths:
--------------
brlcad/trunk/src/tclscripts/archer/Archer.tcl
brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl
brlcad/trunk/src/tclscripts/archer/BotEditFrame.tcl
brlcad/trunk/src/tclscripts/archer/GeometryEditFrame.tcl
Modified: brlcad/trunk/src/tclscripts/archer/Archer.tcl
===================================================================
--- brlcad/trunk/src/tclscripts/archer/Archer.tcl 2013-02-19 15:51:30 UTC
(rev 54432)
+++ brlcad/trunk/src/tclscripts/archer/Archer.tcl 2013-02-19 17:52:49 UTC
(rev 54433)
@@ -290,6 +290,8 @@
method initMode {{_updateFractions 0}}
# Object Edit Section
+ method clearEditState {{_clearModeOnly 0}}
+ method getEditView {}
method initEdit {{_initEditMode 1}}
# Object Edit VIA Mouse Section
@@ -1684,11 +1686,6 @@
set mDbTitle [$itk_component(ged) title]
set mDbUnits [$itk_component(ged) units -s]
- # Reset the bot edit panel
- if {[info exists itk_component(botView)]} {
- $itk_component(botView) clearEditState
- }
-
if {!$mViewOnly} {
initDbAttrView $mTarget
applyPreferences
@@ -2002,28 +1999,19 @@
::itcl::body Archer::beginViewRotate {} {
- if {[info exists itk_component(botView)]} {
- $itk_component(botView) clearEditState
- }
-
+ clearEditState
ArcherCore::beginViewRotate
}
::itcl::body Archer::beginViewScale {} {
- if {[info exists itk_component(botView)]} {
- $itk_component(botView) clearEditState
- }
-
+ clearEditState
ArcherCore::beginViewScale
}
::itcl::body Archer::beginViewTranslate {} {
- if {[info exists itk_component(botView)]} {
- $itk_component(botView) clearEditState
- }
-
+ clearEditState
ArcherCore::beginViewTranslate
}
@@ -2168,23 +2156,20 @@
}
}
}
+
+ clearEditState
}
}
::itcl::body Archer::initCompPick {} {
- if {[info exists itk_component(botView)]} {
- $itk_component(botView) clearEditState
- }
-
+ clearEditState
ArcherCore::initCompPick
}
::itcl::body Archer::initCompSelect {} {
- if {[info exists itk_component(botView)]} {
- $itk_component(botView) clearEditState 1
- }
+ clearEditState 1
if {$mCompSelectMode != $COMP_SELECT_LIST_MODE &&
$mCompSelectMode != $COMP_SELECT_LIST_PARTIAL_MODE &&
@@ -2259,10 +2244,7 @@
::itcl::body Archer::initViewCenterMode {} {
- if {[info exists itk_component(botView)]} {
- $itk_component(botView) clearEditState
- }
-
+ clearEditState
ArcherCore::initViewCenterMode
}
@@ -6015,177 +5997,237 @@
################################### Object Edit Section
###################################
-::itcl::body Archer::initEdit {{_initEditMode 1}} {
- if {[catch {gedCmd get_type $mSelectedObj} mSelectedObjType]} {
- if {![info exists itk_component(invalidView)]} {
- buildInvalidObjEditView
- }
+::itcl::body Archer::clearEditState {{_clearModeOnly 0}} {
+ set editView [getEditView]
- initInvalidObjEditView $mSelectedObj
- return
+ if {$editView != ""} {
+ $editView clearEditState $_clearModeOnly
}
+}
- set odata [lrange [gedCmd get $mSelectedObj] 1 end]
- restoreCanvas
- if {$_initEditMode && [info exists GeometryEditFrame::mEditCommand]} {
- set GeometryEditFrame::mEditMode 0
- set GeometryEditFrame::mEditClass $GeometryEditFrame::EDIT_CLASS_NONE
- set GeometryEditFrame::mEditCommand ""
- set GeometryEditFrame::mEditParam1 0
- set GeometryEditFrame::mEditParam2 0
- set GeometryEditFrame::mEditPCommand ""
- }
-
+::itcl::body Archer::getEditView {} {
switch -- $mSelectedObjType {
"arb4" {
if {![info exists itk_component(arb4View)]} {
buildArb4EditView
}
- initArb4EditView $odata
+
+ return $itk_component(arb4View)
}
"arb5" {
if {![info exists itk_component(arb5View)]} {
buildArb5EditView
}
- initArb5EditView $odata
+
+ return $itk_component(arb5View)
}
"arb6" {
if {![info exists itk_component(arb6View)]} {
buildArb6EditView
}
- initArb6EditView $odata
+
+ return $itk_component(arb6View)
}
"arb7" {
if {![info exists itk_component(arb7View)]} {
buildArb7EditView
}
- initArb7EditView $odata
+
+ return $itk_component(arb7View)
}
"arb8" {
if {![info exists itk_component(arb8View)]} {
buildArb8EditView
}
- initArb8EditView $odata
+
+ return $itk_component(arb8View)
}
"bot" {
if {![info exists itk_component(botView)]} {
buildBotEditView
}
- initBotEditView $odata
+
+ return $itk_component(botView)
}
"comb" {
if {![info exists itk_component(combView)]} {
buildCombEditView
}
- initCombEditView $odata
+
+ return $itk_component(combView)
}
"ell" {
if {![info exists itk_component(ellView)]} {
buildEllEditView
}
- initEllEditView $odata
+
+ return $itk_component(ellView)
}
"ehy" {
if {![info exists itk_component(ehyView)]} {
buildEhyEditView
}
- initEhyEditView $odata
+
+ return $itk_component(ehyView)
}
"epa" {
if {![info exists itk_component(epaView)]} {
buildEpaEditView
}
- initEpaEditView $odata
+
+ return $itk_component(epaView)
}
"eto" {
if {![info exists itk_component(etoView)]} {
buildEtoEditView
}
- initEtoEditView $odata
+
+ return $itk_component(etoView)
}
"extrude" {
if {![info exists itk_component(extrudeView)]} {
buildExtrudeEditView
}
- initExtrudeEditView $odata
+
+ return $itk_component(extrudeView)
}
"grip" {
if {![info exists itk_component(gripView)]} {
buildGripEditView
}
- initGripEditView $odata
+
+ return $itk_component(gripView)
}
"half" {
if {![info exists itk_component(halfView)]} {
buildHalfEditView
}
- initHalfEditView $odata
+
+ return $itk_component(halfView)
}
"hyp" {
if {![info exists itk_component(hypView)]} {
buildHypEditView
}
- initHypEditView $odata
+
+ return $itk_component(hypView)
}
"part" {
if {![info exists itk_component(partView)]} {
buildPartEditView
}
- initPartEditView $odata
+
+ return $itk_component(partView)
}
"pipe" {
if {![info exists itk_component(pipeView)]} {
buildPipeEditView
}
- initPipeEditView $odata
+
+ return $itk_component(pipeView)
}
"rpc" {
if {![info exists itk_component(rpcView)]} {
buildRpcEditView
}
- initRpcEditView $odata
+
+ return $itk_component(rpcView)
}
"rhc" {
if {![info exists itk_component(rhcView)]} {
buildRhcEditView
}
- initRhcEditView $odata
+
+ return $itk_component(rhcView)
}
"sketch" {
if {![info exists itk_component(sketchView)]} {
buildSketchEditView
}
- initSketchEditView $odata
+
+ return $itk_component(sketchView)
}
"sph" {
if {![info exists itk_component(sphView)]} {
buildSphereEditView
}
- initSphereEditView $odata
+
+ return $itk_component(sphView)
}
"superell" {
if {![info exists itk_component(superellView)]} {
buildSuperellEditView
}
- initSuperellEditView $odata
+
+ return $itk_component(superellView)
}
"tgc" {
if {![info exists itk_component(tgcView)]} {
buildTgcEditView
}
- initTgcEditView $odata
+
+ return $itk_component(tgcView)
}
"tor" {
if {![info exists itk_component(torView)]} {
buildTorusEditView
}
- initTorusEditView $odata
+
+ return $itk_component(torView)
}
}
+
+ return ""
}
+::itcl::body Archer::initEdit {{_initEditMode 1}} {
+ if {[catch {gedCmd get_type $mSelectedObj} mSelectedObjType]} {
+ if {![info exists itk_component(invalidView)]} {
+ buildInvalidObjEditView
+ }
+
+ initInvalidObjEditView $mSelectedObj
+ return
+ }
+
+ set odata [lrange [gedCmd get $mSelectedObj] 1 end]
+ restoreCanvas
+
+ if {$_initEditMode && [info exists GeometryEditFrame::mEditCommand]} {
+ set GeometryEditFrame::mEditMode 0
+ set GeometryEditFrame::mEditClass $GeometryEditFrame::EDIT_CLASS_NONE
+ set GeometryEditFrame::mEditCommand ""
+ set GeometryEditFrame::mEditParam1 0
+ set GeometryEditFrame::mEditParam2 0
+ set GeometryEditFrame::mEditPCommand ""
+ }
+
+ if {$mAllowDataClear} {
+ gedCmd data_axes points {}
+ gedCmd data_lines points {}
+ }
+
+ set editView [getEditView]
+ if {$editView == ""} {
+ return
+ }
+
+ $editView configure \
+ -geometryObject $mSelectedObj \
+ -geometryObjectPath $mSelectedObjPath \
+ -geometryChangedCallback [::itcl::code $this updateObjEditView] \
+ -mged $itk_component(ged) \
+ -labelFont $mFontText \
+ -boldLabelFont $mFontTextBold \
+ -entryFont $mFontText
+ $editView initGeometry $odata
+
+ pack $editView -expand yes -fill both
+}
+
+
################################### Object Edit via Mouse Section
###################################
::itcl::body Archer::beginObjRotate {} {
@@ -6197,9 +6239,7 @@
return
}
- if {[info exists itk_component(botView)]} {
- $itk_component(botView) clearEditState
- }
+ clearEditState
if {$GeometryEditFrame::mEditClass != $GeometryEditFrame::EDIT_CLASS_ROT} {
initEdit
@@ -6236,9 +6276,7 @@
return
}
- if {[info exists itk_component(botView)]} {
- $itk_component(botView) clearEditState
- }
+ clearEditState
if {$GeometryEditFrame::mEditClass !=
$GeometryEditFrame::EDIT_CLASS_SCALE} {
initEdit
@@ -6323,7 +6361,7 @@
set mNumSelectedBotPts [$itk_component(botView) setMoveMode]
if {$mNumSelectedBotPts != 1} {
- $itk_component(botView) clearEditState
+ clearEditState
}
}
Modified: brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl
===================================================================
--- brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl 2013-02-19 15:51:30 UTC
(rev 54432)
+++ brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl 2013-02-19 17:52:49 UTC
(rev 54433)
@@ -345,6 +345,7 @@
variable mPasteActive 0
variable mMultiPane 0
variable mTransparency 0
+ variable mAllowDataClear 1
variable mHPaneFraction1 80
variable mHPaneFraction2 20
@@ -3539,6 +3540,11 @@
gedCmd configure -primitiveLabels $plnode
} else {
gedCmd configure -primitiveLabels {}
+
+ if {$mAllowDataClear} {
+ gedCmd data_axes points {}
+ gedCmd data_lines points {}
+ }
}
} else {
set soi -1
@@ -3550,6 +3556,11 @@
if {$soi != -1} {
gedCmd configure -primitiveLabels {}
+
+ if {$mAllowDataClear} {
+ gedCmd data_axes points {}
+ gedCmd data_lines points {}
+ }
}
}
@@ -5842,6 +5853,11 @@
if {$soi != -1} {
gedCmd configure -primitiveLabels {}
+
+ if {$mAllowDataClear} {
+ gedCmd data_axes points {}
+ gedCmd data_lines points {}
+ }
}
updateTreeDrawLists
Modified: brlcad/trunk/src/tclscripts/archer/BotEditFrame.tcl
===================================================================
--- brlcad/trunk/src/tclscripts/archer/BotEditFrame.tcl 2013-02-19 15:51:30 UTC
(rev 54432)
+++ brlcad/trunk/src/tclscripts/archer/BotEditFrame.tcl 2013-02-19 17:52:49 UTC
(rev 54433)
@@ -75,12 +75,12 @@
{Split Face}
}
- method clearEditState {{_clearModeOnly 0}}
method clearAllTables {}
method selectBotPts {_plist}
method setMoveMode {{_tflag 0}}
# Override what's in GeometryEditFrame
+ method clearEditState {{_clearModeOnly 0}}
method initGeometry {_gdata}
method updateGeometry {}
method createGeometry {_name}
@@ -172,18 +172,6 @@
-::itcl::body BotEditFrame::clearEditState {{_clearModeOnly 0}} {
- set mEditMode 0
-
- if {$_clearModeOnly} {
- return
- }
-
- clearAllTables
- set itk_option(-prevGeometryObject) ""
-}
-
-
::itcl::body BotEditFrame::clearAllTables {} {
$itk_option(-mged) data_axes points {}
$itk_option(-mged) data_lines points {}
@@ -234,6 +222,18 @@
}
+::itcl::body BotEditFrame::clearEditState {{_clearModeOnly 0}} {
+ set mEditMode 0
+
+ if {$_clearModeOnly} {
+ return
+ }
+
+ clearAllTables
+ set itk_option(-prevGeometryObject) ""
+}
+
+
## - initGeometry
#
# Initialize the variables containing the object's specification.
@@ -253,11 +253,11 @@
set mCurrentBotEdges ""
set mCurrentBotFaces ""
set itk_option(-prevGeometryObject) $itk_option(-geometryObject)
-
- $itk_component(edgeTab) unselectAllRows
- $itk_component(faceTab) unselectAllRows
}
+ $itk_component(edgeTab) unselectAllRows
+ $itk_component(faceTab) unselectAllRows
+
selectCurrentBotPoints
}
@@ -958,7 +958,6 @@
return
}
-
set hpoints {}
foreach index $mCurrentBotPoints {
incr index -1
Modified: brlcad/trunk/src/tclscripts/archer/GeometryEditFrame.tcl
===================================================================
--- brlcad/trunk/src/tclscripts/archer/GeometryEditFrame.tcl 2013-02-19
15:51:30 UTC (rev 54432)
+++ brlcad/trunk/src/tclscripts/archer/GeometryEditFrame.tcl 2013-02-19
17:52:49 UTC (rev 54433)
@@ -63,6 +63,7 @@
proc validateColorComp {c}
proc validateColor {color}
+ method clearEditState {{_clearModeOnly 0}}
method childsite {{site upper}}
method initGeometry {gdata}
@@ -238,6 +239,12 @@
# PUBLIC METHODS
# ------------------------------------------------------------
+
+::itcl::body GeometryEditFrame::clearEditState {{_clearModeOnly 0}} {
+ # Nothing for now
+}
+
+
::itcl::body GeometryEditFrame::childsite {{site upper}} {
switch -- $site {
"lower" {
@@ -308,6 +315,8 @@
}
::itcl::body GeometryEditFrame::initEditState {} {
+ set itk_option(-prevGeometryObject) $itk_option(-geometryObject)
+
if {$mEditClass == $EDIT_CLASS_ROT} {
$::ArcherCore::application setDefaultBindingMode
$::ArcherCore::OBJECT_ROTATE_MODE
} elseif {$mEditClass == $EDIT_CLASS_SCALE} {
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits