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

Reply via email to