Revision: 38924
http://brlcad.svn.sourceforge.net/brlcad/?rev=38924&view=rev
Author: bob1961
Date: 2010-04-30 18:14:11 +0000 (Fri, 30 Apr 2010)
Log Message:
-----------
Archer will now always operate as if a database is open.
Modified Paths:
--------------
brlcad/trunk/src/tclscripts/archer/Archer.tcl
brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl
Modified: brlcad/trunk/src/tclscripts/archer/Archer.tcl
===================================================================
--- brlcad/trunk/src/tclscripts/archer/Archer.tcl 2010-04-30 15:18:46 UTC
(rev 38923)
+++ brlcad/trunk/src/tclscripts/archer/Archer.tcl 2010-04-30 18:14:11 UTC
(rev 38924)
@@ -534,6 +534,8 @@
$itk_component(primaryToolbar) itemconfigure new -state normal
$itk_component(primaryToolbar) itemconfigure preferences -state normal
+
+ Load ""
}
@@ -1423,13 +1425,20 @@
::itcl::body Archer::Load {_target} {
SetWaitCursor $this
if {$mNeedSave} {
- if {![askToSave]} {
- set mNeedSave 0
- updateSaveMode
- updateUndoMode
- }
+ askToSave
}
+ set mNeedSave 0
+ updateSaveMode
+
+ set mNeedCheckpoint 0
+ updateCheckpointMode
+
+ set mNeedGlobalUndo 0
+ set mNeedObjSave 0
+ set mNeedObjUndo 0
+ updateUndoMode
+
# Get rid of any existing edit dialogs
foreach ed $mActiveEditDialogs {
::itcl::delete object $ed
@@ -1860,7 +1869,7 @@
after idle "$itk_component(cmd) configure -cmd_prefix \"[namespace
tail $this] cmd\""
} else {
- after idle "$itk_component(cmd) configure -cmd_prefix \"[namespace
tail $this] preDbOpenCmd\""
+ after idle "$itk_component(cmd) configure -cmd_prefix \"[namespace
tail $this] cmd\""
}
} else {
if {$_mflag} {
Modified: brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl
===================================================================
--- brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl 2010-04-30 15:18:46 UTC
(rev 38923)
+++ brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl 2010-04-30 18:14:11 UTC
(rev 38924)
@@ -119,7 +119,6 @@
# public database commands
method cmd {args}
method gedCmd {args}
- method preDbOpenCmd {args}
# general
method Load {_filename}
@@ -455,8 +454,6 @@
# Commands in this list get passed directly to the Ged object
variable mUnwrappedDbCommands {}
- variable mPreOpenDbCommands {opendb}
-
variable mBannedDbCommands {
dbip open rtabort shaded_mode
}
@@ -1014,7 +1011,8 @@
initImages
initTreeImages
if {!$mDelayCommandViewBuild} {
- after idle "$itk_component(cmd) configure -cmd_prefix \"[namespace tail
$this] preDbOpenCmd\""
+ after idle "$itk_component(cmd) configure -cmd_prefix \"[namespace tail
$this] cmd\""
+ Load ""
}
$itk_component(primaryToolbar) itemconfigure open -state normal
@@ -1795,14 +1793,29 @@
set mNeedSave 0
updateSaveMode
+ if {$mTarget == ""} {
+ set typelist {
+ {"BRL-CAD Database" {".g"}}
+ {"All Files" {*}}
+ }
+
+ set target [tk_getSaveFile -parent $itk_interior \
+ -initialdir $mLastSelectedDir \
+ -title "Save the New Database" \
+ -filetypes $typelist]
+ } else {
+ set target $mTarget
+ }
+
# Sanity
- if {$mTarget == "" ||
+ if {$target == "" ||
$mTargetCopy == "" ||
$mDbReadOnly ||
$mDbNoCopy} {
return
}
+ set mTarget $target
file copy -force $mTargetCopy $mTarget
}
@@ -2613,45 +2626,7 @@
return [eval $itk_component(ged) $args]
}
-::itcl::body ArcherCore::preDbOpenCmd {args} {
- set cmd [lindex $args 0]
- if {$cmd == ""} {
- return
- }
- set arg1 [lindex $args 1]
- if {$cmd == "info"} {
- switch $arg1 {
- function {
- if {[llength $args] == 3} {
- set subcmd [lindex $args 2]
- if {[lsearch $mPreOpenDbCommands $subcmd] == -1} {
- error "ArcherCore::preDbOpenCmd: unrecognized command -
$subcmd"
- } else {
- return $subcmd
- }
- } else {
- return $mPreOpenDbCommands
- }
- }
- class {
- return [info class]
- }
- default {
- return
- }
- }
- }
-
- set i [lsearch -exact $mPreOpenDbCommands $cmd]
- if {$i != -1} {
- addHistory $args
- return [eval $args]
- }
-
- error "ArcherCore::preDbOpenCmd: unrecognized command - $args"
-}
-
# ------------------------------------------------------------
# DB/DISPLAY COMMANDS
# ------------------------------------------------------------
@@ -4171,12 +4146,18 @@
}
::itcl::body ArcherCore::createTargetCopy {} {
+ if {$mTarget == ""} {
+ set target "BBBBogusArcherTargetCopy"
+ } else {
+ set target $mTarget
+ }
+
set mTargetOldCopy $mTargetCopy
- set mTargetCopy "$mTarget~"
+ set mTargetCopy "$target~"
set id 1
while {[file exists $mTargetCopy]} {
- set mTargetCopy "$mTarget~$id"
+ set mTargetCopy "$target~$id"
incr id
}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits