Repeat-key query & "The Manual"

  • This is a most impressive component. Having written my own text editors in the past, I appreciate the effort and thoughtfulness that has gone into it, but there are two issues I would need clarified before I buy.

    One: the cursor keys, backspace, enter, tab, delete etc. seem to have repeat action disabled, and I can't find any way to change that. Can this really be true? Thus, if I hold down, say, the X key, it will duly repeat XXXXXXXX, but if I want to move the cursor left, right, up or down, I have to repeatedly depress it for each movement. I haven't seen this mentioned anywhere as an issue, which puzzles me. I don't have this problem with any other program or component. What am I missing here?

    Two: TextDynamic is terrific if you just want to use the bundled toolbars, but for me it is an absolute requirement that I supply my own user interface. The ability to do so is one of the reasons I was attracted to this product. But - I am so frustrated with the technical documentation in this respect, I could weep. Trying to find out how to do something simple like create a new style (I'm working in VB.NET, but could equally use C#) is so exhausting, I would give up and buy Tx Text Control if it were not for the overall superior functionality of TextDynamic. The lack of an index and, most of all, examples, negates the otherwise indisputable value of the product. The time I have spent trawling through the maze of interfaces etc. in an attempt to solve some quite basic issues has completely negated any cost saving I would have enjoyed from an otherwise reasonably priced component. If it wasn't for the fact there isn't anything else to beat this that I'm aware of, I would have given up by now.

    I don't expect you to be able to rectify this any time soon, but it does IMO need to be addressed at your earliest convenience. In the meantime, I assume that the C# source code supplied with the license contains all the code associated with, say, toolbar actions, style sheet creation etc.? That will be good enough for me, but I just want to make sure before I commit to it.

    Regards.

    • Offizieller Beitrag
    Zitat

    This is a most impressive component. Having written my own text editors in the past, I appreciate the effort and thoughtfulness that has gone into it, but there are two issues I would need clarified before I buy.

    Many Thanks!

    Zitat

    One: the cursor keys, backspace, enter, tab, delete etc. seem to have repeat action disabled, and I can't find any way to change that. Can this really be true? Thus, if I hold down, say, the X key, it will duly repeat XXXXXXXX, but if I want to move the cursor left, right, up or down, I have to repeatedly depress it for each movement. I haven't seen this mentioned anywhere as an issue, which puzzles me. I don't have this problem with any other program or component. What am I missing here?

    This problem was introduced in last release (a change was required because the DEL key did not work under MS Access) - in the current V1.27.5 it works again as expected.

    Zitat

    Two: TextDynamic is terrific if you just want to use the bundled toolbars, but for me it is an absolute requirement that I supply my own user interface. The ability to do so is one of the reasons I was attracted to this product. But - I am so frustrated with the technical documentation in this respect, I could weep. Trying to find out how to do something simple like create a new style (I'm working in VB.NET, but could equally use C#) is so exhausting, I would give up and buy Tx Text Control if it were not for the overall superior functionality of TextDynamic.

    Creating you own toolbar is possible and actually not that much work once you have understood the concept. The toolbar would use the wpa actions (all have a name) - just like the internal.

    There is the event OnUpdateGUI which is useful to change the pressed/disabled state of your button or menu item.

    This event is described here
    https://www.wpcubed.com/manuals/tdref/…OnUpdateGUI.htm

    The example uses wpaGetFlags ( https://www.wpcubed.com/manuals/tdref/…wpaGetFlags.htm ). It works with an array of bitfields which represent the state of all actions. The index in this array is just the action id, you can use the function wpaGetID to retrieve the ID for a certain action name and use the method wpaExec to execute it (using the ID).

    So if you have a toolbar with controls which have an additional string and integer property you can use the string property and wpaGetID to initialize the integer. From now on you can use this integer to execute the action and to update the state.

    The event OnUpdateGUI is triggered asynchronly when the application is idle.

    Zitat

    The lack of an index and, most of all, examples, negates the otherwise indisputable value of the product. The time I have spent trawling through the maze of interfaces etc. in an attempt to solve some quite basic issues has completely negated any cost saving I would have enjoyed from an otherwise reasonably priced component. If it wasn't for the fact there isn't anything else to beat this that I'm aware of, I would have given up by now.

    Thanks for not given up - the manual is beeing improved as feedback comes in. The index is missing doe to a problem with the help compiler which still exists. Although the engine behind all this is mature, the control is quite new and feedback is highly appreciated. The manual of V1.27.5 is also a bit better. Please note the "categories" in the CMH file - they can be used to locate methods which fit into a certain group, such as mail merge.

    A list of categories is here:
    https://www.wpcubed.com/manuals/tdref/…TextDynamic.htm

    Zitat

    In the meantime, I assume that the C# source code supplied with the license contains all the code associated with, say, toolbar actions, style sheet creation etc.? That will be good enough for me, but I just want to make sure before I commit to it.

    The code which comes with the license is the interface to the engine, it contains the code which creates the window, calls the methods. You can compile the assembly for .NET 1.1 or .NET2 with it. The TextDynamic engine is -like in similar products- native windows code. More demo projects will be added.

    Kind Regards,
    Julian Ziersch

  • Zitat

    in the current V1.27.5 it works again as expected.

    Yep, works fine now. You had me a little worried for a while there. :lol:

    Zitat

    Creating you own toolbar is possible and actually not that much work once you have understood the concept.

    Sorry, I didn't explain myself. I have already created a custom toolbar, which works very well, bar a couple of buggy features which I haven't had time to sort out yet. I had some problems with the responsiveness of OnUpdateGui for this purpose and switched to OnChangeSelection, but the new version seems to have sorted that - could have been the repeat-key issue. My point was that it took me far longer to figure out than it should have done. The latest version of the manual is a help, but I would suggest the creation of a "How-To" / Knowledgebase section, to which both users and yourselves could contribute and save newcomers a lot of time. I'd be happy to post my custom toolbar code for a start.

    Thanks for the quick reply

    • Offizieller Beitrag

    Hi,


    I have started with a VB.NET example which uses a custom toolbar and MDI windows.


    I also found that OnUpdateGUI seems to be triggered too often. I think this is caused by an unexpected event sent by windows and it should be covered in next release. (OnUpdateGUI is triggered asynchronly)

    OnChangeSelection is fine, too.

    Zitat

    The latest version of the manual is a help, but I would suggest the creation of a "How-To" / Knowledgebase section, to which both users and yourselves could contribute and save newcomers a lot of time. I'd be happy to post my custom toolbar code for a start.

    Thank you - examples are always welcome. But I think I have sorthed it out now. In my example I am now using the Text property of a toolbutton to store the action name - but only as long as required to use wpaGetID to convert it to a number which can be stored in "Tag". I can then use wpaGetCaption to get the strings for the button - after changing the internal language that should be also work localization.

    Regards,

    Julian

  • Thank you. This is very helpful, it clarifies some issues for me. The code is neat and economical too - better than my solution :) I'm adapting it to my project. If I run into any "insoluble" problems I'll let you know.