473,394 Members | 1,806 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,394 software developers and data experts.

XMetaL: hook self-created online help

Hi there!

We have created a dtd. Now, when creating xml files based on this dtd we
want to provide an own online help.
(This online help explains:
which tag can be used where,
writing schemas,
structure (parents, children), ...)
We might change to XMeltaL. But therefore I have a few questions:

Does anyone know if its possible to hook a self-created online help to
XMetal? And if yes, how can I do this?
(You should be able to place your mouse on the xml-element and press F1 e.g.
and get help for this special element. )

Help topics exist as single SGML/HTML-files for each element and as chm.

Thanks a lot for your help
Nora


* * * * * * * * * * * * * * * * * * * * * * * * *
Nora Homburg
Am Hasenbiel 13-15
76297 Stutensee
fon: 07244/73969-35
mobil: 0160/4887090
mailto: no**@myhope.de
url: www.myhope.de
* * * * * * * * * * * * * * * * * * * * * * * * *
Jul 20 '05 #1
2 1888
Nora,

An application passes an HHTopicID to the help engine. The topic id,
identifies an HML page inside the chm. The topic
IDs are essentially hardwired into the application. In theory, you could
decompile the existing chm file (using Keytools,
or similar) and then extend it with your own pages. You could have the
existing Help API calls point to your content.
However (IANAL), hacking the help application in this way would probably be
a breach of copyright.

Further, you would not be able to generate any new calls, such as the
specific calls I imagine you might want so that you can go
directly to your DTDs help topics, without recompiling the application (and
the only guaranteed way to do this would be to have
access to the source code).

My advice is to create your help as a standalone application. You could
always create a separate icon on the desktop ...

Simon North


Quintiq Application Software BV
's Hertogenbosch, The Netherlands
Jul 20 '05 #2
In the Xmetal API there are 3 help methods attached to the Application interface
Help
HelpContext
HelpFinder

The latter 2 allow you to open a named Help file and so would be applicable to
your implementation.

So it is theoretically possible. You would need to trap for F1 though and I cannot
see how to do that within the Xmetal event model.

But it would be possible to add a menu item to the context menu (popup menu) so
that the user could pop it up and select help at that point.

That would be a fairly trivial task.

"Simon North" <si****@xs4all.nl> wrote in message
news:41***********************@news.xs4all.nl...
Nora,

An application passes an HHTopicID to the help engine. The topic id,
identifies an HML page inside the chm. The topic
IDs are essentially hardwired into the application. In theory, you could
decompile the existing chm file (using Keytools,
or similar) and then extend it with your own pages. You could have the
existing Help API calls point to your content.
However (IANAL), hacking the help application in this way would probably be
a breach of copyright.

Further, you would not be able to generate any new calls, such as the
specific calls I imagine you might want so that you can go
directly to your DTDs help topics, without recompiling the application (and
the only guaranteed way to do this would be to have
access to the source code).

My advice is to create your help as a standalone application. You could
always create a separate icon on the desktop ...

Simon North


Quintiq Application Software BV
's Hertogenbosch, The Netherlands

Jul 20 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: shavazo | last post by:
I saw some older messages about users asking about SGML capabilities and development/customization of XMetaL post 4.0 Well, the latest release is 4.6 and has some capabilities that may interest...
5
by: murlbrown | last post by:
I am using a class library built by michael kennedy that creates a system wide hook on the WH_KEYBOARD_LL, but I wanted to changed it to become a hook for a RichEdit box in another application. ...
0
by: ddwyer | last post by:
I am working with a custom DTD and am having some issues with XMetal Developer 4.5 and displaying tables correctly. For some reason when I design the CSS file for displaying in Normal or Tags On...
0
by: sharp | last post by:
I've done enough reading through the groups to know that a Global Keyboard hook is not possible via C# (.NET) itself. From what I have seen proposed is that you need to write a global hook in a...
1
by: murlbrown | last post by:
Basicly im trying to determine when a new line has been appended to the textbox of another application. Using spy++ I see that the msg (wm_user + 97) is being sent, which is the EM_SETTEXTEX...
0
by: murlbrown | last post by:
I am using a class library built by michael kennedy that creates a system wide hook on the WH_KEYBOARD_LL, but I wanted to changed it to become a hook for a RichEdit box in another application. ...
2
by: Lunchtimemama | last post by:
I am trying to modify another application's window (Google Talk) to insert some UI of my own. I think the best method would be to install a remote local hook in gtalk's thread that intercepts the...
0
by: zeng.hui.stephen | last post by:
I download the demo http://msdn.microsoft.com/msdnmag/issues/02/10/cuttingedge/. I inherite the demo, and write my code. I want to use Hook to monitor C++ Edit change. I use a C# form...
4
by: paul.lafollette | last post by:
Kind people, Is there any way one can, within Python, intercept the act of assignment. For instance, suppose that I was obsessed with FORTRAN II, and decided that I wanted to print a warning, or...
3
by: Sami | last post by:
Hello, I am new to Python. I tried to hook my own ExceptionPrintingFunction sys.excepthook but it does not work. This is what I wrote:...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.