Show hidden files in cadence file browsers

W

West

Guest
Hi,
Normally in the icfb tools file browsers hidden files or directories
(dot files) are not visible.
I know there is some global variable which you can set, so they become
visible.
However I lost the name of this variable after a crash, and now I
cannot find it back, even
in the internet. Does anyone know this variable?

Thanks in advance, Wim
 
On 27 Jan 2006 06:29:47 -0800, "West" <sybhs@yahoo.com> wrote:

Hi,
Normally in the icfb tools file browsers hidden files or directories
(dot files) are not visible.
I know there is some global variable which you can set, so they become
visible.
However I lost the name of this variable after a crash, and now I
cannot find it back, even
in the internet. Does anyone know this variable?

Thanks in advance, Wim
Well, before ICOA5251 there was no common file browser, so almost certainly the
answer to your question is no... (even in ICOA5251 applications which had a file
browser may be using their own browser rather than the common one).

Which particular file browser are you asking about?

Regards,

Andrew.
 
Hi Andrew,
E.g. the Model Library Setup in the Cadence Analog design environment
doesn't
show hidden files and folders. When you click the "browse" button, a
file browser
dialog named "unix browser" pops up.

Wim
 
West wrote:

Hi Andrew,
E.g. the Model Library Setup in the Cadence Analog design environment
doesn't
show hidden files and folders. When you click the "browse" button, a
file browser
dialog named "unix browser" pops up.
Hi Wim,

For this specific browser to show you hidden files and dirs, you can redefine
this callback:

procedure( asiUnixDirNameCB(f)
f->dirlist->choices = foreach(mapcar o getDirFiles(f->dirname->value)
if(isDir(o) strcat(o "/") o)
);foreach
f->filename->value = ""
);proc


--
Frederic
 
On 31 Jan 2006 03:31:17 -0800, "West" <sybhs@yahoo.com> wrote:

Hi Andrew,
E.g. the Model Library Setup in the Cadence Analog design environment
doesn't
show hidden files and folders. When you click the "browse" button, a
file browser
dialog named "unix browser" pops up.

Wim
I just took a look through the code, and in IC5141 and before, this invokes an
ADE-specific file browser. The underlying file browser has a mode to indicate
whether dot files should be shown or not - and when called from the model
libraries form, it doesn't pass the argument to tell it to show hidden files.
There's no option to control this, unfortunately.

In ICOA5251, when the UI infrastructure moves to be Qt based rather than Motif,
the file browser in ADE switches to using the common "hi" file browser
(hiDisplayFileDialog()) - and in this case the hidden files/folders are shown in
the browser.

Regards,

Andrew.
 
On Wed, 01 Feb 2006 12:27:28 +0100, fogh
<cad_support@skipthisandunderscores.catena.nl> wrote:

West wrote:

Hi Andrew,
E.g. the Model Library Setup in the Cadence Analog design environment
doesn't
show hidden files and folders. When you click the "browse" button, a
file browser
dialog named "unix browser" pops up.

Hi Wim,

For this specific browser to show you hidden files and dirs, you can redefine
this callback:

procedure( asiUnixDirNameCB(f)
f->dirlist->choices = foreach(mapcar o getDirFiles(f->dirname->value)
if(isDir(o) strcat(o "/") o)
);foreach
f->filename->value = ""
);proc
Redefining Cadence code is NOT a good idea, unless you really know what you're
doing, and keep track of all these kind of changes (and even then it is a risky
thing to do).

This one is a perfect example. The private function you're redefining has 1
argument in IC446 and IC5033, but in IC5141 it expects 2 arguments.

So what happens - somebody at your site redefines this function in a central
startup file, then some time later leaves the company (perhaps). You upgrade to
IC5141, and then all of a sudden you get errors when you're trying to use the
browser on the model library form. So you call Cadence support, and we have real
fun trying to figure out why this is broken - perhaps mistakenly guessing that
it was something that was broken in the particular ISR you're using, and so
getting you to download and install a newer version. Lots of effort later, we
might stumble upon the fact that somebody redefined a function.

Take it from me, it happens. I've had several cases where strange things have
gone wrong due to somebody else in an organisation redefining a function several
releases previously, and nobody else knowing about it.

Also, there are various things your code is not doing that the function you're
redefining does do, so even if the code were compatible with the release you're
using, you might end up calling customer support saying "why can't the list of
files in the file browser be sorted alphabetically?". "They are" we say, and
then we have a similar problem trying to track down why it's sorted for us and
not for you...

Please take heed of this... it might seem like a good idea at the time, but it
will come back to haunt you.

Andrew.
 
Andrew Beckett wrote:

On Wed, 01 Feb 2006 12:27:28 +0100, fogh
cad_support@skipthisandunderscores.catena.nl> wrote:


West wrote:


Hi Andrew,
E.g. the Model Library Setup in the Cadence Analog design environment
doesn't
show hidden files and folders. When you click the "browse" button, a
file browser
dialog named "unix browser" pops up.

Hi Wim,

For this specific browser to show you hidden files and dirs, you can redefine
this callback:

procedure( asiUnixDirNameCB(f)
f->dirlist->choices = foreach(mapcar o getDirFiles(f->dirname->value)
if(isDir(o) strcat(o "/") o)
);foreach
f->filename->value = ""
);proc


Redefining Cadence code is NOT a good idea, unless you really know what you're
doing, and keep track of all these kind of changes (and even then it is a risky
thing to do).

This one is a perfect example. The private function you're redefining has 1
argument in IC446 and IC5033, but in IC5141 it expects 2 arguments.

So what happens - somebody at your site redefines this function in a central
startup file, then some time later leaves the company (perhaps). You upgrade to
IC5141, and then all of a sudden you get errors when you're trying to use the
browser on the model library form. So you call Cadence support, and we have real
fun trying to figure out why this is broken - perhaps mistakenly guessing that
it was something that was broken in the particular ISR you're using, and so
getting you to download and install a newer version. Lots of effort later, we
might stumble upon the fact that somebody redefined a function.

Take it from me, it happens. I've had several cases where strange things have
gone wrong due to somebody else in an organisation redefining a function several
releases previously, and nobody else knowing about it.

Also, there are various things your code is not doing that the function you're
redefining does do, so even if the code were compatible with the release you're
using, you might end up calling customer support saying "why can't the list of
files in the file browser be sorted alphabetically?". "They are" we say, and
then we have a similar problem trying to track down why it's sorted for us and
not for you...

Please take heed of this... it might seem like a good idea at the time, but it
will come back to haunt you.

Andrew,

Thanks for all the good hints. If Wim wants to use this he now knows the
risks. And that he should use an @optional .

I am not using this redefine in our site customisations. However, I do have a
few (very few) redefines. Only 2 in fact: the ADE resize and the ADE expressions
in transient stop time ; both were posted in this group before. Their loader is
testing on version and will redefine only on a tried&tested version. These are
logged in CDS.log as "info", and of course made explicit by SKILL itself "
function xyz redefined". So you can see them even without a trace. Also, the
site code loader shows up as an "installed package" here, so any user knows that
some customisation is made, and has the ability to remove it.

I am sure the site customisations may have given you headaches, as they do
with me: every PDK I get these days comes along with so many redefines! I find
that problems are most often with those customisation which are considered OK by
CDNS, such as bindkeys or menus, or .cdsenv's . It is incredible how much damage
the .cdsenv's can do, while they are so easy to create for an end user. I may
even one of these days put in a little check like "user level .cdsenv bigger
than 200 lines."

BTW, if you ever get an SR directly from an end user from our side, please
bounce them back at me. There is a 'public' SL account but it is meant only for
solution search.
 

Welcome to EDABoard.com

Sponsor

Back
Top