Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » Elevate Web Builder Technical Support » Support Forums » Elevate Web Builder Components » View Thread |
Messages 1 to 4 of 4 total |
TKitComponent |
Thu, Feb 9 2017 4:57 AM | Permanent Link |
Matthew Jones | It strikes me that it would be good to have a template for a component. A set of files that represent a basic component that stands alone, and not in a file with any others. Something like the TButton which has the various elements for layout, which can be expanded or removed or whatever. This set of files would then allow for an easy copy files, rename items, and modify to suit needs. WIthout the "I wonder if this is part of this component, or one of the others" that I fall over now.
Of course it also won't answer all needs - if I want to base it on something else more complicated, then that's still needed, but I could choose to copy code in, rather than delete code. Anyway, would be interested to know what others think of this idea. How do you start a new component? Matthew |
Thu, Feb 9 2017 7:06 AM | Permanent Link |
Michael Dreher | "Matthew Jones" wrote:
// Anyway, would be interested to know what others think of this idea. The advantage of copying code is, it's not touched by changes from other projects. But then your maintenance effort rises. // How do you start a new component? I walk through the inheritance tree of the library and see where it best fits in. The start of a TShape component for example: TComponent must be an ancestor but TShape should be visible in design/runtime and react to mouse/keyboard, so TComponent is not enough but TControl will do. Shapes should be a clilds container and provide an independet background color. An additional element in the control interface for the background? No, I'am lazy and let TBasicPanel do this. Should I expose alle properties vom TBasicPanel? The component controls the coners so better it's derived from TBasicPanelControl without publishing the Corners property. Michael Dreher |
Thu, Feb 9 2017 8:38 AM | Permanent Link |
Matthew Jones | Michael Dreher wrote:
> The advantage of copying code is, it's not touched by changes from other projects. But then your maintenance effort rises. > > ... > > I walk through the inheritance tree of the library and see where it best fits in. Having just done the skeleton using the IDE, it is not a good experience. You get a unit, but no interface clause, no copy of the interface (which should be optional depending on what you are doing with it). I had to copy the TButton interface, then rename it in the editor (a scary thing!) and it just seems clunky. I had to add the GetInterfaceClassName function too. Oh the hardship I hear you say, but making things easy is what this suggestion is about. I want all the considerations sorted for me so I know I've got a winner. WebBuilder does so much good stuff, and I want to push into new components. |
Thu, Mar 23 2017 11:06 AM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Matthew,
<< Having just done the skeleton using the IDE, it is not a good experience. You get a unit, but no interface clause, no copy of the interface (which should be optional depending on what you are doing with it). I had to copy the TButton interface, then rename it in the editor (a scary thing!) and it just seems clunky. I had to add the GetInterfaceClassName function too. Oh the hardship I hear you say, but making things easy is what this suggestion is about. I want all the considerations sorted for me so I know I've got a winner. WebBuilder does so much good stuff, and I want to push into new components. >> I missed this originally, but just to note: the option is New *Component*, not New *Control*. That's why there isn't any interface additions. What you want will be coming, but will take some time... Tim Young Elevate Software www.elevatesoft.com |
This web page was last updated on Sunday, May 5, 2024 at 07:30 PM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |