![]() |
Telelogic DOORS (steve huntington) | ![]() |
new topic :
profile :
search :
help :
dashboard :
calendar :
home
|
||
Latest News:
|
|
Topic Title: Hide, show, re-size, re-position Module Windows ?? Topic Summary: Created On: 15-Apr-2008 19:29 Status: Post and Reply |
Linear : Threading : Single : Branch |
![]() |
![]()
|
![]() |
|
Is there a way to hide, show, re-size, and/or re-position Module Windows?
In my search of the forum, I found a similar question asked, but with no answer. In my similar question about the main DOORS window, I found I could move the main window off screen with: setPos(dbExplorer,2000,2000) ... which is good enough for now. But, can I do something similar with the Module Windows? Why am I doing this? I have some DXL scripts that open a lot of modules, generate reports, switch views, etc. These scripts take several minutes to execute. I am trying to make them less annoying to the users, as DOORS tends to lock up the computer, more or less, and keeps popping up each module window in the user's face, while they are trying to do other things. I know I can open modules in the background, invisible to the user. This is OK in some cases, but in other cases, the modules need to appear to the user. It would be nice if DOORS would do it's thing, then show the modules and results after it is done, not every time another module is opened. |
|
![]() |
|
![]() |
|
Well it is possible to get a handle on a DOORS module window apparently using
window(current Module) However, you cannot use the show(window w) or hide(window w) functions with a handle on a module window(throws an internal error). It seems to only work for the print module window and object attribute editor windows. You can get the width and height of the DOORS window though with this reference. print width(window current Module) print height(window current Module) I wasn't able to set it though. I tried width(Window__ w, int width) and a similar function for height but it didn't work. Nor did a setWidth version. There are two functions draw(Module,int,int,int,int,int,int,int,int) draw(Module,int,int,int,int,int,int) But I don't know what the int fields are. Feel free to play. ------------------------- David Pechacek AAI Services Textron dpechacek@sc-aaicorp.com David.Pechacek@gmail.com Edited: 16-Apr-2008 at 14:21 by David Pechacek |
|
![]() |
|
![]() |
|
I notice there are two 'struct Window__ {};' statements therein. Perhaps that explains why 'show' and 'hide' don't work on a module window.
|
|
![]() |
|
![]() |
|
In baseWindowMenu.inc, where it builds the main Explorer menus, within the function addOpenMenuItems(), there are calls to "openReadOnly", "openShare", and "openEdit". Unfortunately, those functions seem to be hidden and/or encrypted. If I could see the guts of those functions, I might be able to find some way to get a handle on the window. It's possible those functions return DBs. If the main Explorer is a DB, there's a pretty good chance the Module Windows are DBs also.
|
|
![]() |
|
![]() |
|
Just another thought... if I dig into how DOORS saves and recalls views, I might find an answer. When you save and re-load a view, somehow DOORS can also save and recall the size and position of the module window.
|
|
![]() |
|
![]() |
|
Those functions don't return a DB parameter. In fact since I get an 'expected non-void expression' no matter what return parameter I try, I conclude that 'openReadOnly' is a void function with no parameters, knowing what to do based on the currently selected module. My guess is that it just figures out what's selected, and calls read/edit/share as appropriate.
- Louie |
|
![]() |
|
![]() |
|
Louis, you are correct. It seems openReadOnly, openShare, and openEdit, return void.
Now, I am looking at copyview.inc. In there is a function copyModuleView(Module,Module,string), which copies a view from one module to another. Within copyModuleView is a call to a function copyWindowSettings(Module,Module,View). Unfortunately, it seems copyWindowSettings is hidden or encrypted. I can't find it anywhere. But, I am digging.... By the way, I tried to experiment with draw(Module,int,int,int,int,int,int). All I got were Exception Access Violations. I also played with width(window(Module m)) and height(window(Module m)). One oddity: width and height of link modules always seems to return 0. |
|
![]() |
FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.