Quellcode durchsuchen

Add files via upload

Capitan Cloud vor 1 Jahr
Ursprung
Commit
e126908ae0
7 geänderte Dateien mit 55 neuen und 61 gelöschten Zeilen
  1. 13 9
      eglib.tcl
  2. 2 2
      file.tcl
  3. 2 38
      filelib.tcl
  4. 15 3
      main.tcl
  5. 5 4
      radxide.tcl
  6. 1 1
      tree.tcl
  7. 17 4
      win.tcl

+ 13 - 9
eglib.tcl

@@ -27,6 +27,7 @@ namespace eval eglib {
 	set browse(curix) -1
 	set browse(current) ""
 	set browse(label) {}
+	set browse(cookie) ""
 	  
 # ____________________ Scrolled_Text ____________________ #
 
@@ -65,7 +66,7 @@ namespace eval eglib {
 		pack $f -fill x; #-side left -fill both -expand 1 ;#-fill x
 		
 		# Create the menubutton and menu
-		menubutton $f.ex -text Examples -menu $f.ex.m
+		menubutton $f.ex -text Snippets -menu $f.ex.m
 		pack $f.ex -side left
 		set m [menu $f.ex.m]		
 
@@ -74,7 +75,7 @@ namespace eval eglib {
 
 		# The Run and Reset buttons use EvalEcho that
 		# is defined by the Tcl shell in Example 24–4 on page 389
-		button $f.load -text Run -command Run -state disabled
+		button $f.load -text Copy -command ::radxide::eglib::Copy ;#-state disabled
 		button $f.reset -text Reset -command ::radxide::eglib::Reset
 
 		# A label identifies the current example
@@ -154,10 +155,10 @@ namespace eval eglib {
 		if [catch {open $file} in] {
 			$t insert end $in
 		} else {
-			$t insert end [read $in]
+			$t insert end [set browse(cookie) [read $in]]
 			close $in
 		}
-		$t config -state disabled
+		#$t config -state disabled
 	}
 
 # ___________________ Next ____________________ #  
@@ -185,11 +186,11 @@ namespace eval eglib {
 # ___________________ Run ____________________ #
 
 
-	proc Run {} {
+	proc Copy {} {
   # Run the example in the shell
 		variable browse
-		EvalEcho [list source \
-			[file join $browse(dir) $browse(current)]]
+		set t $browse(text)
+    tk_textCopy $t
 	}
 
 # ___________________ Reset ____________________ #
@@ -201,8 +202,11 @@ namespace eval eglib {
 	 	set t $browse(text)
 		$t config -state normal
 		$t delete 1.0 end
-		$t insert end ""
-		$t config -state disabled
+		#Next
+		#Previous
+		#$t insert end ""
+		$t insert end $browse(cookie)
+		#$t config -state disabled
 	}	
 #_______________________	
 	

+ 2 - 2
file.tcl

@@ -52,7 +52,7 @@ namespace eval file {
 	  $t delete 1.0 end
 	  $t insert end ""
 	  $t config -state disabled
-	  ::radxide::win::fillGutter .danwin.fra.pan.fra2.text .danwin.fra.pan.fra2.gutText 5 1 "#FFFFFF" "#222223"
+	  ::radxide::win::fillGutter $dan(TEXT) $dan(GUTTEXT) 5 1 "#FFFFFF" "#222223"
 	  
 		# Update file Menu
 	  $menu(FILE) entryconfigure $menu(SAVE_AS_ENTRY_IDX) -state disabled
@@ -85,7 +85,7 @@ namespace eval file {
 	  $t delete 1.0 end
 	  $t insert end ""
 	  $t config -state disabled
-	  ::radxide::win::fillGutter .danwin.fra.pan.fra2.text .danwin.fra.pan.fra2.gutText 5 1 "#FFFFFF" "#222223"
+	  ::radxide::win::fillGutter $dan(TEXT) $dan(GUTTEXT) 5 1 "#FFFFFF" "#222223"
 	  
 	  # ide treeviee reset
 	  set tree $dan(TREEVIEW)

+ 2 - 38
filelib.tcl

@@ -78,16 +78,14 @@ namespace eval filelib {
 		#   reload - if yes, loads the file even if it has a "strange" extension
 		#   islist - if yes, *fnames* is a file list
 		#   Message - name of procedure for "open file" message
-		# Returns the file's tab ID if it's loaded, or {} if not loaded.
-
+    # Return the content of the file
+    
     namespace upvar ::radxide dan dan
 
     set ret ""
 
     if {$fname ne ""} {
 
-      #tk_messageBox -title $dan(TITLE) -icon error -message "Yess!"
-
 		  if {[file size $fname] > $dan(MAXFILESIZE)} {
 		    tk_messageBox -title $dan(TITLE) -icon error -message "File exceed MAXFILESIZE=$dan(MAXFILESIZE)"
 		    return $ret
@@ -111,43 +109,9 @@ namespace eval filelib {
 		#   stxt - text to save
 
 		namespace upvar ::radxide dan dan project project
-		#if {[info exists al(THIS-ENCODING)]} {
-		#  set enc "-encoding $al(THIS-ENCODING)" ;# at saving "no name"
-		#} else {
-		#  set enc [Encoding $fname]
-		#}
-		#if {[info exists al(THIS-EOL)]} {
-		#  set eol "-translation $al(THIS-EOL)" ;# at saving "no name"
-		#} else {
-		#  set eol [EOL $fname]
-		#}
-		#append enc " $eol"
-		#set al(_NO_OUTWARD_) {}
-		#set wtxt [alited::main::GetWTXT $TID]
-		#if {$al(prjtrailwhite)} {alited::edit::RemoveTrailWhites $TID yes $doit}
-		#set fcont [$wtxt get 1.0 "end - 1 chars"]  ;# last \n excluded
-		#if {![::apave::writeTextFile $fname fcont 0 1 {*}$enc]} {
-		#  alited::msg ok err [::apave::error $fname] -w 50 -text 1
-		#  unset al(_NO_OUTWARD_)
-		#  return 0
-		#}
-		#unset al(_NO_OUTWARD_)
-		#OutwardChange $TID no
-		#alited::edit::BackupFile $TID
-		#if {!$doit} {
-		#  $wtxt edit modified no
-		#  alited::edit::Modified $TID $wtxt
-		#  alited::main::HighlightText $TID $fname $wtxt
-		#  RecreateFileTree
-		#}
-		#return 1
 		
 		if {($fname ne "") && ($stxt ne "")} {
 		
-		  #tk_messageBox -title $dan(TITLE) -icon error -message "Yess!"
-		
-		  #tk_messageBox -title $dan(TITLE) -icon error -message $fname
-		
 		  set fh [open $fname {WRONLY CREAT}]
 		  puts $fh $stxt
 		  close $fh		

+ 15 - 3
main.tcl

@@ -3,7 +3,18 @@
 # Author:  Daniele Bonini  (posta@elettronica.lol)
 # Date:    25/11/2023
 # Desc:    Main form of RadXIDE.
-# License: MIT.
+#
+#          Files namespace and most of code 
+#          here presented and distributed contain excerpts 
+#          from [alited](https://github.com/aplsimple/alited
+#          by Alex Plotnikov and contributors to the project.
+#          The original code of these excerpts could be 
+#          borrowed from other sources which the author
+#          and the contributors to this RadXIDE have no 
+#          knowledge about.
+#
+# License: MIT. Copyrights 5 Mode (Last implementation and adaptations.)
+#               Copyright (c) 2021-2023 Alex Plotnikov https://aplsimple.github.io (original scaffolding and excerpts.)
 ###########################################################
 
 
@@ -55,9 +66,10 @@ namespace eval main {
 		wm attributes $dan(WIN) -topmost
 		updateAppTitle
 		wm iconphoto $dan(WIN) $dan(ICONI)
-		wm resizable $dan(WIN) 0 0
+		wm resizable $dan(WIN) 1 1
 		::radxide::win::centerWin $dan(WIN) $dan(WIDTH) $dan(HEIGHT)
-		wm minsize $dan(WIN) $dan(WIDTH) $dan(HEIGHT)
+		wm minsize $dan(WIN) [expr $dan(WIDTH)-600] [expr $dan(HEIGHT)-600]
+		wm maxsize $dan(WIN) [expr $dan(WIDTH)+400] [expr $dan(HEIGHT)+300]
 		wm attributes $dan(WIN) -fullscreen 0
 		wm protocol . WM_DELETE_WINDOW { radxide::quit }
     

+ 5 - 4
radxide.tcl

@@ -28,7 +28,7 @@
 #
 ###########################################################
 
-package provide radxide 1.0.5
+package provide radxide 1.0.6
 
 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/YouUser/.radxwork"  ;# root working dir
+  set dan(WORKDIR) "/home/YourUser/.radxwork"  ;# root working dir
   set dan(TITLE) RADXIDE
   
   # Check workdir existance..
@@ -69,6 +69,7 @@ namespace eval radxide {
   }
     
   set dan(TREEVIEW) ""              ;# ide project tree
+  set dan(GUTTEXT) ""               ;# ide guttext control 
   set dan(TEXT) ""                  ;# ide text control
   set dan(prjdirignore) {.git .bak} ;# ignored subdirectories of project
   
@@ -104,8 +105,8 @@ namespace eval radxide {
   variable _dirtree [list]
   
   set dan(TITLE_TEMPL) {%f :: %t}   ;# radxide title's template
-  set dan(WIDTH) 1600
-  set dan(HEIGHT) 800
+  set dan(WIDTH) 1280
+  set dan(HEIGHT) 760
   #set al(MOVEFG) "black"
   #set al(MOVEBG) "#7eeeee"  
   set dan(FG) "#000000"

+ 1 - 1
tree.tcl

@@ -536,7 +536,7 @@ namespace eval tree {
 		  $dan(TEXT) config -state normal
 		  $dan(TEXT) delete 1.0 end 
 		  $dan(TEXT) insert 1.0 [::radxide::filelib::openFile $fname]
-		  ::radxide::win::fillGutter .danwin.fra.pan.fra2.text .danwin.fra.pan.fra2.gutText 5 1 "#FFFFFF" "#222223"
+		  ::radxide::win::fillGutter $dan(TEXT) $dan(GUTTEXT) 5 1 "#FFFFFF" "#222223"
 			
 		  # Update menu
 	    $menu(FILE) entryconfigure $menu(SAVE_ENTRY_IDX) -state normal

+ 17 - 4
win.tcl

@@ -1862,11 +1862,24 @@ namespace eval win {
 		  # main pane (panR)
 		  pack [set w2 [frame $pan.fra2 -background $bg ]] -side left -fill both -expand 1 ;#-fill both
 		  set panR [$pan add $pan.fra2]
-		  pack [text $w2.gutText -background "lightgray" -foreground "#222223" -font "Monospace 10" -width 5] -side left -fill both -expand 1 -anchor nw
+		  pack [text $w2.gutText -background "lightgray" -foreground "#222223" -font "Monospace 10" -width 5] -side left -fill both -expand 0 -anchor nw
  		  # text pane
 		  #pack [text $w2.text -background "#FFFFFF" -foreground "#222223" -font "monospace 10" -bd 0 -padx 13 -spacing1 0 -spacing2 0 -spacing3 0 -exportselection yes -expand 1 -fill both;#-gutterwidth 5 -guttershift 3
-		  pack [text $w2.text -background "#FFFFFF" -foreground "#222223" -font "monospace 10" -bd 0 -padx 13 -spacing1 0 -spacing2 0 -spacing3 0 -exportselection yes -width 155] -side left -expand 1 -fill both -anchor nw;#-gutterwidth 5 -guttershift 3
-		  set dan(TEXT) $w2.text
+		  #pack [text $w2.text -background "#FFFFFF" -foreground "#222223" -font "monospace 10" -bd 0 -padx 13 -spacing1 0 -spacing2 0 -spacing3 0 -exportselection yes -width 155] -side left -expand 1 -fill both -anchor nw;#-gutterwidth 5 -guttershift 3
+		  frame $w2.fra
+		  text $w2.fra.text -background "#FFFFFF" -foreground "#222223" -font "monospace 10" -bd 0 -padx 13 -spacing1 0 -spacing2 0 -spacing3 0 -exportselection yes -width 115 -xscrollcommand [list $w2.fra.xscroll set] -yscrollcommand [list $w2.fra.yscroll set] -wrap none
+		  scrollbar $w2.fra.xscroll -orient horizontal \
+		    -command [list $w2.fra.text xview]
+		  scrollbar $w2.fra.yscroll -orient vertical \
+		    -command [list $w2.fra.text yview]
+		  grid $w2.fra.text $w2.fra.yscroll -sticky news
+	   	grid $w2.fra.xscroll -sticky news
+		  grid rowconfigure $w2.fra 0 -weight 1
+		  grid columnconfigure $w2.fra 0 -weight 1
+		  pack $w2.fra -side left -expand 1 -fill both -anchor nw;
+		  
+		  set dan(GUTTEXT) $w2.gutText
+		  set dan(TEXT) $w2.fra.text
 		  $dan(TEXT) configure -state disabled
 		  
 		  # code library
@@ -1875,7 +1888,7 @@ namespace eval win {
 		  ::radxide::eglib::create $w3
 		  
 		  # update gutter, key bindings     
-      bind .danwin.fra.pan.fra2.text "<KeyRelease>" {::radxide::win::fillGutter .danwin.fra.pan.fra2.text .danwin.fra.pan.fra2.gutText 5 1 "#FFFFFF" "#222223"}
+      bind $dan(TEXT) "<KeyRelease>" {::radxide::win::fillGutter $dan(TEXT) $dan(GUTTEXT) 5 1 "#FFFFFF" "#222223"}
       bind $tree "<ButtonPress>" {after idle {::radxide::tree::buttonPress %b %x %y %X %Y}}
       bind $tree "<ButtonRelease>" {after idle {::radxide::tree::buttonRelease %b %s %x %y %X %Y}}