fix Browse button in edit symbol prop dialog

This commit is contained in:
Stefan Schippers 2020-09-15 14:15:43 +02:00
parent 9561204c77
commit bd06456bd6
5 changed files with 34 additions and 1 deletions

View File

@ -1,4 +1,13 @@
2.9.8
- When loading/descending in a symbol set netlist_type to CAD_SYMBOL_ATTRS, set back to previous value when done.
- Tcl procedure "load_file_dialog" is now used also for saving files (so list of defined xschem libs is available
as well as preview window).
- eliminated any differences between SYMBOL and SCHEMATIC files.
There is no "current_type" variable any more. Symbols who used to have netlisting rules defined in schvhdlprop
have now these attributes in schsymbolprop.
Old symbol files with schvhdlprop will be saved with netlisting rules in schsymbolprop.
- Bring open dialogs always on top of xschem main window if user clicks title bar on gnome/metacity DMs
- allow '@' in net names as this is sometimes uded in CDL / backannotated netlists.
- enable "bus=true" attribute for lines as well as for wires.
As a side effect LCC schematics with bussed wires will display thick buses
- added command <Alt-b> (menu Symbol->Show only instance Bounding boxes) to toggle

View File

@ -109,6 +109,7 @@ void deps_default_init(void)
dep_add("libs/fs/makedev/*", find_fs_makedev);
dep_add("libs/io/pipe/*", find_io_pipe);
dep_add("libs/io/pipe2/*", find_io_pipe2);
dep_add("libs/io/_pipe/*", find_io__pipe);
dep_add("libs/io/dup2/*", find_io_dup2);
dep_add("libs/io/fileno/*", find_io_fileno);

View File

@ -127,6 +127,7 @@ int find_shell(const char *name, int logdepth, int fatal);
/* find_io.c */
int find_io_pipe(const char *name, int logdepth, int fatal);
int find_io_pipe2(const char *name, int logdepth, int fatal);
int find_io__pipe(const char *name, int logdepth, int fatal);
int find_io_dup2(const char *name, int logdepth, int fatal);
int find_io_fileno(const char *name, int logdepth, int fatal);

View File

@ -52,6 +52,28 @@ int find_io_pipe(const char *name, int logdepth, int fatal)
return try_fail(logdepth, "libs/io/pipe");
}
int find_io_pipe2(const char *name, int logdepth, int fatal)
{
const char *test_c =
NL "#include <unistd.h>"
NL "int main() {"
NL " int fd[2];"
NL " if (pipe2(fd, 0) == 0)"
NL " puts(\"OK\");"
NL " return 0;"
NL "}"
NL;
require("cc/cc", logdepth, fatal);
report("Checking for pipe2(2)... ");
logprintf(logdepth, "find_io_pipe2: trying to find pipe2(2)...\n");
logdepth++;
if (try_icl(logdepth, "libs/io/pipe2", test_c, "#include <unistd.h>\n", NULL, NULL)) return 0;
return try_fail(logdepth, "libs/io/pipe2");
}
int find_io__pipe(const char *name, int logdepth, int fatal)
{
const char *test_c =

View File

@ -2042,7 +2042,7 @@ proc edit_prop {txtlabel} {
entry .dialog.f1.e2 -width 30
.dialog.f1.e2 insert 0 $symbol
button .dialog.f1.b5 -text "Browse" -command {
set r [save_file_dialog {New symbol} .sym INITIALINSTDIR {} 0]
set r [tk_getOpenFile -parent .dialog -initialdir $INITIALINSTDIR ]
if {$r ne {} } {
.dialog.f1.e2 delete 0 end
.dialog.f1.e2 insert 0 $r