Welcome to Telelogic Product Support
  Home Downloads Knowledgebase Case Tracking Licensing Help Telelogic Passport
Telelogic DOORS (steve huntington)
Decrease font size
Increase font size
Topic Title: menu control by DXL event
Topic Summary:
Created On: 28-Jul-2006 15:14
Status: Post and Reply
Linear : Threading : Single : Branch
Search Topic Search Topic
Topic Tools Topic Tools
Quick Reply Quick Reply
Subscribe to this topic Subscribe to this topic
E-mail this topic to someone. E-mail this topic
Bookmark this topic Bookmark this topic
View similar topics View similar topics
View topic in raw text format. Print this topic.
 28-Jul-2006 15:14
User is offline View Users Profile Print this message


Darius Dolnik

Posts: 16
Joined: 13-Jul-2004

Hi all,

does anybody know how DXL sends a keyboard event to the module window? I want to activate the module menu by sending the accelerator key event to it. For instance to call the file menu the "Ctrl + F" must be sent to the menu bar.

Thank you for answers
Report this to a Moderator Report this to a Moderator
 28-Jul-2006 16:10
User is offline View Users Profile Print this message


Reik Schroeder

Posts: 361
Joined: 28-Jul-2003

Hi Darius,

I do not really understand your question.
If you want to activate a DOORs built in menu function, you may have a look into
\lib\dxl\config\formal.dxl
There is defined the standard Module's menu. So you may find out the function you need.

If you want to use accelerator keys for your own menu, you need to write a DXL script to create the menu (It should look like the functions within the formal.dxl). Then you have to place this file into
\lib\dxl\config\formalFiles directory.
As a parameter to the createItem you can define the accelerator key.

I hope this will help you a little bit

Greetings
Reik

-------------------------
Evosoft GmbH
for Siemens Industry Sector


Berlin, Germany
Report this to a Moderator Report this to a Moderator
 31-Jul-2006 10:36
User is offline View Users Profile Print this message


Darius Dolnik

Posts: 16
Joined: 13-Jul-2004

Hi Reik,

thank you for your answer, but it does not really hit the nail on the head. I see I did not describe the problem well. The task is to start the word export menu by a keyboard event implemented in the DXL script. I want to send the "Alt+F+E+O+W" string as a keyboard event to the module window to open word export. Does DXL support this "Windows API like" method?

Regards
Darius Dolnik
Report this to a Moderator Report this to a Moderator
 31-Jul-2006 11:20
User is offline View Users Profile Print this message


Reik Schroeder

Posts: 361
Joined: 28-Jul-2003

Hi Darius,

the thing, you are looking fore may be this one

eval_ (readFile doorsHome "/lib/dxl/standard/export/office/word.dxl")


The path and filename are extracted from formal.dxl.

Greetings
Reik

-------------------------
Evosoft GmbH
for Siemens Industry Sector


Berlin, Germany
Report this to a Moderator Report this to a Moderator
 31-Jul-2006 15:03
User is offline View Users Profile Print this message


Darius Dolnik

Posts: 16
Joined: 13-Jul-2004

Hi Reik,

your solution works well. I got the same result using the #include command with "doorshome...word.dxl" directory. Where is the "eval_" function documented? I did not find anything about this function in common manuals.

The next challenge is to control the elements of the word export window. I want to use the "word.dxl" like a library and set some values via DXL:

1. Layout list box to "Table"
2. in "Advanced options" check box "Use normale template" to disable
3. in "Advanced options" edit box "Template name" to a particular file name

After these actions are completed the OK-button-click should be generated by the DXL script to start the export. This approach is necessary to avoid any user interaction with the word export window.
Is it possible to implement this solution in DXL? I have not found another good idea until now.

Regards
Darius Dolnik
Report this to a Moderator Report this to a Moderator
 31-Jul-2006 17:06
User is offline View Users Profile Print this message


Richard Good

Posts: 152
Joined: 22-Mar-2005

Think your approaching this problem the wrong way. As the word exporter dxl is unencrypted the optimum solution would be to copy the dxl somwhere else then modify the GUI ie. take away the options you don't want the user to have then simply add the code to a company specific menu or overide the telelogic word exporter with your modified tool.

Tip: For table exports you will find that the rtf exporter "File->Export->Rich Text Format..." is very much quicker (especially for large OLE heavy modules) and probably gives much the same final export.

-------------------------
Regards,

Richard Good
Report this to a Moderator Report this to a Moderator
 1-Aug-2006 08:03
User is offline View Users Profile Print this message


Reik Schroeder

Posts: 361
Joined: 28-Jul-2003

Hi Darius,

first answer: To get some information about eval_ function you may search in this forum for it
Or you may look here

Second one: Now I'm starting to understand what you want to do
Richards hint is very correct - you are going the wrong way. The code for word export is readable and changeable, so you may copy and change it to work for you.

To remote control some doors functions is the worst case, if you have no possibilty of get into the code

Greetings
Reik

-------------------------
Evosoft GmbH
for Siemens Industry Sector


Berlin, Germany
Report this to a Moderator Report this to a Moderator
 1-Aug-2006 09:04
User is offline View Users Profile Print this message


Darius Dolnik

Posts: 16
Joined: 13-Jul-2004

Hi guys,

thank you very much for your answers. I understand your objections to remote control the DOORS word export. My idea was to avoid all this effort needed to analyse the DXL export code. Some lines of DXL changing the dialog box values in a defined way are much nicer than the complex code adaptation.
But at last I realized I have to accept this job.

Regards
Darius Dolnik
Report this to a Moderator Report this to a Moderator
 1-Aug-2006 10:55
User is offline View Users Profile Print this message


Reik Schroeder

Posts: 361
Joined: 28-Jul-2003

Hi Darius,

of cause you could do the modifications in the way you wanted to do.

You could change at end of code near line 2976 the block command into realize
then modify the DBE you want (change your desired settings) and call the function, wich is call back for apply button .... and that's it.

Greetings
Reik

P.S.: But the better way would be to try to understand the code in apply call back and use only that stuff you really need --> in best case without opening dialog

-------------------------
Evosoft GmbH
for Siemens Industry Sector


Berlin, Germany
Report this to a Moderator Report this to a Moderator
 9-Aug-2006 09:44
User is offline View Users Profile Print this message


Darius Dolnik

Posts: 16
Joined: 13-Jul-2004

Hi Reik,

your idea to use the realize command was the solution for my problem. Now I am using the callback function directly in the code. But I also modified the code a bit. The original DB is not active anymore. A new DB "appears" hidden on the screen as base window for the export progress bar. I also removed a lot of code necessary for the original DB. In general the "new" word export works well

Thank you very much
Take care
Darius Dolnik
Report this to a Moderator Report this to a Moderator
Statistics
20925 users are registered to the Telelogic DOORS forum.
There are currently 1 users logged in.
The most users ever online was 15 on 15-Jan-2009 at 16:36.
There are currently 0 guests browsing this forum, which makes a total of 1 users using this forum.
You have posted 0 messages to this forum. 0 overall.

FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.