Capitan Cloud пре 1 година
родитељ
комит
9b253207ed
6 измењених фајлова са 94 додато и 57 уклоњено
  1. 26 2
      edit.tcl
  2. 5 0
      file.tcl
  3. 5 3
      menu.tcl
  4. 3 3
      radxide.tcl
  5. 1 0
      tree.tcl
  6. 54 49
      win.tcl

+ 26 - 2
edit.tcl

@@ -22,7 +22,7 @@ namespace eval edit {
 
 # ________________________ find _________________________ #
 
-	proc find {win} {
+	proc find {} {
     # Open the Find window to start a text search
 
     namespace upvar ::radxide dan dan project project
@@ -45,10 +45,34 @@ namespace eval edit {
 		     
 		  catch {lassign [::radxide::win::input "Find" {} "Find text" [list \
 		    ent "{} {} {-w 64}" "{$sel}"] \
-		    -head "Serach for:" {*}$args] res}
+		    -head "Search for:" {*}$args] res}
     }
 	}
 
+# ________________________ GotoLine _________________________ #
+
+
+	proc GotoLine {} {
+    # Open the Go To Line window
+
+    namespace upvar ::radxide dan dan project project
+
+    set t $dan(TEXT)
+    set args {}
+    set ln 1
+
+		if {$project(CUR_FILE_PATH) ne {}} {
+
+		  #tk_messageBox -title $dan(TITLE) -icon info -message "Go To Line"
+		  
+		  set args "-buttons {butSearch SEARCH ::radxide::win::GotoLineOK butCANCEL CANCEL ::radxide::win::GotoLineCancel}"
+		     
+		  catch {lassign [::radxide::win::input "GotoLine" {} "Go to Line" [list \
+		    ent "{} {} {-w 28}" "{$ln}"] \
+		    -head "Go to line:" {*}$args] res}
+    }
+	}
+	
 # ________________________ makeCopy _________________________ #
 
 	proc makeCopy {win} {

+ 5 - 0
file.tcl

@@ -62,6 +62,7 @@ namespace eval file {
 	  $menu(EDIT) entryconfigure $menu(PASTE_ENTRY_IDX) -state disabled
 	  $menu(EDIT) entryconfigure $menu(CUT_ENTRY_IDX) -state disabled
 	  $menu(EDIT) entryconfigure $menu(FIND_ENTRY_IDX) -state disabled
+	  $menu(EDIT) entryconfigure $menu(GOTO_ENTRY_IDX) -state disabled
 	  
 	  ::radxide::main::updateAppTitle		      
 	}
@@ -97,6 +98,10 @@ namespace eval file {
 	  $menu(FILE) entryconfigure $menu(SAVE_ENTRY_IDX) -state disabled		  
 	  $menu(FILE) entryconfigure $menu(CLOSE_ENTRY_IDX) -state disabled
     $menu(FILE) entryconfigure $menu(CLOSE_PROJECT_ENTRY_IDX) -state disabled
+	  $menu(EDIT) entryconfigure $menu(PASTE_ENTRY_IDX) -state disabled
+	  $menu(EDIT) entryconfigure $menu(CUT_ENTRY_IDX) -state disabled
+	  $menu(EDIT) entryconfigure $menu(FIND_ENTRY_IDX) -state disabled
+	  $menu(EDIT) entryconfigure $menu(GOTO_ENTRY_IDX) -state disabled
 
 	  ::radxide::main::updateAppTitle		      
 	  

+ 5 - 3
menu.tcl

@@ -63,11 +63,12 @@ namespace eval menu {
 		$m2 add command -label Paste -command { ::radxide::menu::edit::makePaste .danwin.fra.text } -accelerator Ctrl+P -state disabled
 		$m2 add command -label Cut -command { ::radxide::menu::edit::makeCut .danwin.fra.text } -accelerator Ctrl+X -state disabled
 		$m2 add separator
-		$m2 add command -label Find -command { ::radxide::menu::edit::find .danwin.fra.text } -accelerator Ctrl+F -state disabled
+		$m2 add command -label Find -command { ::radxide::menu::edit::find } -accelerator Ctrl+F -state disabled
+		$m2 add command -label "Go to Line" -command { ::radxide::menu::edit::GotoLine } -accelerator Ctrl+G -state disabled
 		$m2 add separator
 		$m2 add command -label Options -command { ::radxide::menu::edit::setup } 
 		set m3 [menu $m.help -tearoff 0]
-		$m3 add command -label About -command { tk_messageBox -title $dan(TITLE) -icon info -message "\n\nRADXIDE ver 1.1.2\n\n\nMIT Licence.\n\n\nCopyrights (c) 2023-2024 5 Mode http://5mode.com\n\nThe software is provided AS-IS.\n\nA great 'Thank you' to Alex Plotnikov and his Alited (copyrights notice are included in the single files of RADXIDE!)\n\n\n"}
+		$m3 add command -label About -command { tk_messageBox -title $dan(TITLE) -icon info -message "\n\nRADXIDE ver 1.1.4\n\n\nMIT Licence.\n\n\nCopyrights (c) 2023-2024 5 Mode http://5mode.com\n\nThe software is provided AS-IS.\n\nAuthors:\n2023-2024 RADXIDE, Daniele Bonini\n2021-2023 Alited, Alex Plotnikov\n\n\n"}
     return $m
 	}
 
@@ -84,7 +85,8 @@ namespace eval menu {
  	  bind $ctrl "<Control-c>" "::radxide::menu::edit::makeCopy $ctrl"
  	  bind $ctrl "<Control-p>" "::radxide::menu::edit::makePaste $ctrl"
  	  bind $ctrl "<Control-x>" "::radxide::menu::edit::makeCut $ctrl"
- 	  bind $ctrl "<Control-f>" "::radxide::menu::edit::find $ctrl"
+ 	  bind $ctrl "<Control-f>" "::radxide::menu::edit::find"
+		bind $ctrl "<Control-g>" "::radxide::menu::edit::GotoLine"
 		
 	}	
 	

+ 3 - 3
radxide.tcl

@@ -28,7 +28,7 @@
 #
 ###########################################################
 
-package provide radxide 1.1.3
+package provide radxide 1.1.4
 
 set _ [package require Tk]
 wm withdraw .
@@ -55,7 +55,7 @@ namespace eval radxide {
   set DEBUG no  ;# debug mode
   
   set dan(WIN) .danwin              ;# main form
-  set dan(WORKDIR) "/home/YourUser/.radxwork"  ;# root working dir
+  set dan(WORKDIR) "/home/pocahontas/.radxwork"  ;# root working dir
   set dan(TITLE) RADXIDE
   
   # Check workdir existance..
@@ -160,12 +160,12 @@ namespace eval radxide {
   set menu(PASTE_ENTRY_IDX) 1;
   set menu(CUT_ENTRY_IDX) 2;
   set menu(FIND_ENTRY_IDX) 4;    
+  set menu(GOTO_ENTRY_IDX) 5;
     
   set dan(PhpExts) {.php .php2 .php3 .php4 .php5 .funny .inc}     ;# extensions of php files
   set dan(HtmlExts) {.html .htm}                                  ;# extensions of html files
   set dan(CssExts) {.css}                                         ;# extensions of css files
   set dan(JsExts) {.js}                                           ;# extensions of js files
-  set dan(CssExts) {.css}                                         ;# extensions of css files
   set dan(TxtExts) {.txt .rtf}                                    ;# extensions of txt files
   set dan(ImgExts) {.gif .png .jpg .jpeg}                         ;# extensions of images
   set dan(BinExts) {.so .o .exe}                                  ;# extensions of binary

+ 1 - 0
tree.tcl

@@ -655,6 +655,7 @@ namespace eval tree {
 	    $menu(EDIT) entryconfigure $menu(PASTE_ENTRY_IDX) -state normal
 	    $menu(EDIT) entryconfigure $menu(CUT_ENTRY_IDX) -state normal	    
 	    $menu(EDIT) entryconfigure $menu(FIND_ENTRY_IDX) -state normal
+	    $menu(EDIT) entryconfigure $menu(GOTO_ENTRY_IDX) -state normal	    
 	    
 	    set project(CUR_FILE_PATH) $fname
 	    

+ 54 - 49
win.tcl

@@ -967,7 +967,7 @@ namespace eval win {
 
   proc findTextOK {} {
   
-    namespace upvar ::radxide dan dan project project
+    namespace upvar ::radxide dan dan
 
     variable dlg
     variable data
@@ -1242,6 +1242,55 @@ namespace eval win {
     return $res
   }
 
+# ________________________ GotoLineOK _________________________ #
+
+
+  proc GotoLineOK {} {
+  
+    namespace upvar ::radxide dan dan
+
+    variable dlg
+    
+    set wt $dan(TEXT) 
+    set lmax [expr {int([$wt index "end -1c"])}]
+    
+    #set t $Dlgpath.fra.fraM.fraent.ent
+    set t [dlgPath].fra.[FieldName [lindex [getDialogField 0] 0]]
+    #tk_messageBox -title $dan(TITLE) -icon info -message textbox=$t
+    set varname [lindex [getDialogField end] 0]
+    #tk_messageBox -title $dan(TITLE) -icon info -message varname=$varname
+    set oldlinenumber [lindex [getDialogField end] 1]
+    #tk_messageBox -title $dan(TITLE) -icon info -message oldlinenumber=$oldlinenumber
+    set newlinenumber [string trim [$t get]]
+    #tk_messageBox -title $dan(TITLE) -icon info -message newlinenumber=$newlinenumber
+
+    if {$newlinenumber>$lmax} {
+      tk_messageBox -title $dan(TITLE) -icon info -message "Line $newlinenumber doesn't exist $newlinenumber>MAXLINES."
+      return 0
+    }
+
+    ::tk::TextSetCursor $wt 0.0
+    after 200 "tk::TextSetCursor $wt [expr $newlinenumber].0"
+          
+    catch {[destroy [dlgPath]]}
+  
+    return 1
+  }
+
+
+# ________________________ GotoLineCancel _________________________ #
+
+
+  proc GotoLineCancel {} {
+  
+    #catch {[destroy .danwin.diaRenameFile1]}    
+    catch {[destroy [dlgPath]]}
+        
+    return 0
+  }
+
+
+
 # ________________________ iconImage _________________________ #
 
   proc iconA {icon {iconset small} {cmpd left}} {
@@ -1801,6 +1850,7 @@ namespace eval win {
   
   # Scrollbars amenities
   proc Yset {widgets master sb args} {
+   
     #if {$master eq "master"} {
       #list $sb set [expr [lindex $args 0]] [expr [lindex $args 1]]
       
@@ -1815,59 +1865,14 @@ namespace eval win {
       #set w1 [lrange $widgets 0 0]		    
     #} 
     
-    #set w1 [lrange $widgets 0 0]
-    #set w2 [lrange $widgets 1 1]
-    
     ::radxide::win::Yview $w1 moveto [lindex $args 0]
-    #::radxide::win::Yview $w1 moveto [lindex $args 0]
+
   }
   
   #set mycookie(0) 0 
   proc Yview {widgets args} {
-    #variable mycookie
-    #if {$mycookie(0) < 3} {
-      #incr mycookie(0)
-  		#tk_messageBox -title title -icon error -message [lindex $args 0]
-  		#tk_messageBox -title title -icon error -message [lindex $args 1]
-  		#tk_messageBox -title title -icon error -message [lindex $args 2]
-		#}  
     foreach w $widgets {
-      #$w configure -state normal
-      #if {[lindex $args 0] eq "moveto" || [lindex $args 0] eq "scroll"} {
-      #  if {[lindex $args 0] eq "scroll"} {
-      #    if {[lindex $args 2] ne ""} {
-      #     set u [lindex $args 2]
-      #    } else {
-      #      set u units
-      #    }  
-      #  }
-        $w yview {*}$args
-      #} else {
-      #  $w yview scroll {*}$args units
-      #}  
-      #$w configure -state disabled      
-      #if {[lindex $args 0] eq "moveto"} {
-      #  $w yview moveto [lindex $args 1]
-      #} elseif {[lindex $args 0] eq "scroll"} {
-      #  if {[lindex $args 2] ne ""} {
-      #    set u [lindex $args 2]
-      #  } else {
-      #    set u units
-      #  }  
-      #  $w yview scroll [lindex $args 1] $u
-      #} elseif {[lindex $args 0] eq "-1"} {
-      #  $w yview scroll -1 units
-      #} elseif {[lindex $args 0] eq "1"} {
-      #  $w yview scroll 1 units        
-      #} elseif {[lindex $args 0] eq "0"} {  
-      #  $w yview scroll 0 units
-      #} elseif {[lindex $args 0] eq "-5"} {  
-      #  $w yview scroll -5 units 
-      #} elseif {[lindex $args 0] eq "5"} {  
-      #  $w yview scroll 5 units                
-      #} else {
-      #  tk_messageBox -title title -icon error -message [lindex $args 0]
-      #}  
+      $w yview {*}$args
     }
   } 
   
@@ -2558,7 +2563,7 @@ namespace eval win {
     # add the buttons
     
     # xxx
-    if {$dlgname eq "RenameFile" || $dlgname eq "RenameFolder" || $dlgname eq "Find"} {
+    if {$dlgname eq "RenameFile" || $dlgname eq "RenameFolder" || $dlgname eq "Find" || $dlgname eq "GotoLine"} {
       set buttons [string map {"butOK OK 1" "" "butCANCEL Cancel destroy" ""} $buttons]
     }
     lassign [AppendButtons widlist $buttons h__ L $defb $timeout $qdlg $modal] \