removed File menu commands `Empty schematic in new window` and `Empty symbol in new window` since these just create another xschem process. Added `File->Start new xschem process`. `xschem new_window` and `xschem new_symbol_window` commands removed, added `xschem new_process
This commit is contained in:
parent
e68ca0a0cc
commit
ec5577c07f
|
|
@ -169,10 +169,8 @@ ctrl 'o' Load schematic
|
|||
- 'm' Move selected obj.
|
||||
shift 'N' Top level only netlist
|
||||
- 'n' Hierarchical Netlist
|
||||
ctrl 'n' New schematic
|
||||
ctrl+shift 'N' New symbol
|
||||
alt 'n' Empty schematic in new window
|
||||
alt+shift 'N' Empty symbol in new window
|
||||
ctrl 'n' Clear schematic
|
||||
ctrl+shift 'N' Clear symbol
|
||||
shift 'O' Toggle Light / Dark colorscheme
|
||||
ctrl 'o' Load schematic
|
||||
- 'p' Place polygon. Operation ends by placing last point over first.
|
||||
|
|
|
|||
|
|
@ -487,6 +487,7 @@ C {verilog_timescale.sym} 1050 -100 0 0 {name=s1 timestep="1ns" precision="1ns"
|
|||
|
||||
|
||||
|
||||
|
||||
<li><kbd> abort_operation</kbd></li><pre>
|
||||
Resets UI state, unselect all and abort any pending operation </pre>
|
||||
<li><kbd> add_symbol_pin</kbd></li><pre>
|
||||
|
|
@ -846,6 +847,9 @@ C {verilog_timescale.sym} 1050 -100 0 0 {name=s1 timestep="1ns" precision="1ns"
|
|||
a different name than symbol pin </pre>
|
||||
<li><kbd> netlist</kbd></li><pre>
|
||||
do a netlist of current schematic in currently defined netlist format </pre>
|
||||
<li><kbd> new_process [f]</kbd></li><pre>
|
||||
Start a new xschem process for a schematic.
|
||||
If 'f' is given load specified schematic. </pre>
|
||||
<li><kbd> new_schematic create|destroy|destroy_all|switch_win winpath file</kbd></li><pre>
|
||||
Open/destroy a new tab or window
|
||||
create: create new empty window or with 'file' loaded if 'file' given.
|
||||
|
|
@ -857,12 +861,6 @@ C {verilog_timescale.sym} 1050 -100 0 0 {name=s1 timestep="1ns" precision="1ns"
|
|||
switch_tab: switch context to specified 'winpath' tab
|
||||
Main window/tab has winpath set to .drw,
|
||||
Additional windows/tabs have winpath set to .x1.drw, .x2.drw and so on...</pre>
|
||||
<li><kbd> new_symbol_window [f]</kbd></li><pre>
|
||||
Start a new xschem process for a symbol.
|
||||
If 'f' is given load specified symbol. </pre>
|
||||
<li><kbd> new_window [f]</kbd></li><pre>
|
||||
Start a new xschem process for a schematic.
|
||||
If 'f' is given load specified schematic. </pre>
|
||||
<li><kbd> only_probes</kbd></li><pre>
|
||||
dim schematic to better show highlights </pre>
|
||||
<li><kbd> origin x y [zoom]</kbd></li><pre>
|
||||
|
|
@ -1197,6 +1195,7 @@ C {verilog_timescale.sym} 1050 -100 0 0 {name=s1 timestep="1ns" precision="1ns"
|
|||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
<!-- TCL global variables -->
|
||||
|
|
|
|||
|
|
@ -2186,25 +2186,13 @@ int callback(const char *winpath, int event, int mx, int my, KeySym key,
|
|||
copy_objects(START);
|
||||
break;
|
||||
}
|
||||
if(key=='n' && state==Mod1Mask) /* empty schematic in new window */
|
||||
{
|
||||
if(xctx->semaphore >= 2) break;
|
||||
tcleval("xschem new_window");
|
||||
break;
|
||||
}
|
||||
if(key=='N' && state==(ShiftMask|Mod1Mask) ) /* empty symbol in new window */
|
||||
{
|
||||
if(xctx->semaphore >= 2) break;
|
||||
tcleval("xschem new_symbol_window");
|
||||
break;
|
||||
}
|
||||
if(key=='n' && state==ControlMask) /* new schematic */
|
||||
if(key=='n' && state==ControlMask) /* clear schematic */
|
||||
{
|
||||
if(xctx->semaphore >= 2) break;
|
||||
tcleval("xschem clear SCHEMATIC");
|
||||
break;
|
||||
}
|
||||
if(key=='N' && state==(ShiftMask|ControlMask) ) /* new symbol */
|
||||
if(key=='N' && state==(ShiftMask|ControlMask) ) /* clear symbol */
|
||||
{
|
||||
if(xctx->semaphore >= 2) break;
|
||||
tcleval("xschem clear SYMBOL");
|
||||
|
|
|
|||
|
|
@ -129,10 +129,8 @@ ctrl 'o' Load schematic
|
|||
- 'm' Move selected obj.
|
||||
shift 'N' Top level only netlist
|
||||
- 'n' Hierarchical Netlist
|
||||
ctrl 'n' New schematic
|
||||
ctrl+shift 'N' New symbol
|
||||
alt 'n' Empty schematic in new window
|
||||
alt+shift 'N' Empty symbol in new window
|
||||
ctrl 'n' Clear schematic
|
||||
ctrl+shift 'N' Clear symbol
|
||||
shift 'O' Toggle Light / Dark colorscheme
|
||||
ctrl 'o' Load schematic
|
||||
- 'p' Place polygon. Operation ends by placing last point over first.
|
||||
|
|
|
|||
|
|
@ -2202,6 +2202,21 @@ int xschem(ClientData clientdata, Tcl_Interp *interp, int argc, const char * arg
|
|||
}
|
||||
}
|
||||
|
||||
/* new_process [f]
|
||||
* Start a new xschem process for a schematic.
|
||||
* If 'f' is given load specified schematic. */
|
||||
else if(!strcmp(argv[1], "new_process"))
|
||||
{
|
||||
if(argc > 2) {
|
||||
char f[PATH_MAX + 100];
|
||||
my_snprintf(f, S(f),"regsub {^~/} {%s} {%s/}", argv[2], home_dir);
|
||||
tcleval(f);
|
||||
my_strncpy(f, tclresult(), S(f));
|
||||
new_xschem_process(f, 0);
|
||||
} else new_xschem_process("", 0);
|
||||
Tcl_ResetResult(interp);
|
||||
}
|
||||
|
||||
/* new_schematic create|destroy|destroy_all|switch_win winpath file
|
||||
* Open/destroy a new tab or window
|
||||
* create: create new empty window or with 'file' loaded if 'file' given.
|
||||
|
|
@ -2233,36 +2248,6 @@ int xschem(ClientData clientdata, Tcl_Interp *interp, int argc, const char * arg
|
|||
Tcl_SetResult(interp, s, TCL_VOLATILE);
|
||||
}
|
||||
}
|
||||
|
||||
/* new_symbol_window [f]
|
||||
* Start a new xschem process for a symbol.
|
||||
* If 'f' is given load specified symbol. */
|
||||
else if(!strcmp(argv[1], "new_symbol_window"))
|
||||
{
|
||||
if(argc > 2) {
|
||||
char f[PATH_MAX + 100];
|
||||
my_snprintf(f, S(f),"regsub {^~/} {%s} {%s/}", argv[2], home_dir);
|
||||
tcleval(f);
|
||||
my_strncpy(f, tclresult(), S(f));
|
||||
new_xschem_process(f, 1);
|
||||
} else new_xschem_process("", 1);
|
||||
Tcl_ResetResult(interp);
|
||||
}
|
||||
|
||||
/* new_window [f]
|
||||
* Start a new xschem process for a schematic.
|
||||
* If 'f' is given load specified schematic. */
|
||||
else if(!strcmp(argv[1], "new_window"))
|
||||
{
|
||||
if(argc > 2) {
|
||||
char f[PATH_MAX + 100];
|
||||
my_snprintf(f, S(f),"regsub {^~/} {%s} {%s/}", argv[2], home_dir);
|
||||
tcleval(f);
|
||||
my_strncpy(f, tclresult(), S(f));
|
||||
new_xschem_process(f, 0);
|
||||
} else new_xschem_process("", 0);
|
||||
Tcl_ResetResult(interp);
|
||||
}
|
||||
else { cmd_found = 0;}
|
||||
break;
|
||||
case 'o': /*----------------------------------------------*/
|
||||
|
|
|
|||
|
|
@ -5800,6 +5800,9 @@ proc build_widgets { {topwin {} } } {
|
|||
$topwin.menubar.file.menu add command -label "PNG Export" -command "xschem print png" -accelerator {Ctrl+*}
|
||||
$topwin.menubar.file.menu add command -label "SVG Export" -command "xschem print svg" -accelerator {Alt+*}
|
||||
$topwin.menubar.file.menu add separator
|
||||
$topwin.menubar.file.menu add command -label "Start new Xschem process" -accelerator {X} -command {
|
||||
xschem new_process
|
||||
}
|
||||
$topwin.menubar.file.menu add command -label "Close schematic" -accelerator {Ctrl+W} -command {
|
||||
xschem exit
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue