[lazarus] Question about component structure

Curtis White osiriz at teleport.com
Fri Jul 30 15:19:33 EDT 1999


I second or third (or whatever) that :-)


Curtis

On 30-Jul-99 Michael A. Hess wrote:
> Jeff Wormsley wrote:
>> 
>> Working from memory (I am at work now, away from the code) the GTK
>> stuff right now is localized to the GTKINT.PP file.  I assume that
>> when QT, Win32 native, etc. are put in, that they will be likewise in
>> a QTINT.PP and a WIN32INT.PP file.  Will these files be located in the
>> LCL directory, or will the LCL have further subdirectories for each of
>> these?  Also, the GTK files are in \pp\source\gtk right now.  I assume
>> there will be a \pp\source\qt and \pp\source\win32 as well?  Or will
>> WIN32 stay as it is under RTL and FCL?  I am a bit curious, but I
>> would like to look at the WIN32 API this weekend, as I am a lot more
>> familiar with it than GTK.  I want to know where to put things, and
>> where to access things that are already there.
> 
> You beat me to it.  :-)
> 
> I was going to talk with Cliff about this very thing. Since we have
> already broken out the source into .pp's and .inc's and separated the
> component library into lcl I think it is also a good time to separate
> the API stuff.
> 
> The /pp/source/gtk should probably stay as it is and we would add
> /pp/source/qt  /pp/source/gnome   etc.
> 
> However in the lcl we should break out the gtk code into separate
> directories lcl/gtk  lcl/qt  lcl/gnome   etc.
> We should do this before we get to much further along.
> 
> Shane,
> 
> Another thing we should probably do now is adjust how the interface.pp
> and gtkint.pp interaction works. I mentioned this before. We should
> eliminate the interface.pp file and just rename the gtkint.pp class to
> be the same as found in the interface unit. Then we place these files
> into the lcl/gtk directory with it's own make file. As we move along
> fewer and fewer changes will be required of the interface files and they
> could be compiled separately from the lcl. Then when a user needs to
> build their app they set make to include the lcl/gtk directory and
> compile their program.
> 
> Now when we make the qt, motif, gnome, whatever, ports we use the exact
> same name for the .pp file but place this and the specific .inc's into
> their individual directories again with their own makefiles. Now when a
> user wants to build a version of their app for qt all they need to do is
> adjust their make file to point to the correct lcl subdirectory to use
> the correct unit. No code will be needed to be changed and no {$ifdef}
> is required. We can even make up a template make file that you type
> 
>   make gtk
> 
>      or
> 
>   make qt
> 
> and it will build the users application and use the correct api units to
> link the program.
> 
> Then as we add more GUI APIs we don't need to change any code all we
> need to do is write the interface code for that API. Place it into an
> appropriate subdirectory and link against those units. No modifications
> to the lcl are required. The lcl wouldn't even need to be recompiled to
> use different API's.
> 
> 
> -- 
> ==== Programming my first best destiny! ====
> 
> Michael A. Hess      Miracle Concepts, Inc.
> mhess at miraclec.com   http://www.miraclec.com
> 
> _________________________________________________________________
>      To unsubscribe: mail lazarus-request at miraclec.com with
>                 "unsubscribe" as the Subject
>     archives at http://www.miraclec.com/list_archives/lazarus

----------------------------------
Curtis White
Curtis White <osiriz at teleport.com>
http://www.teleport.com/~osiriz/
----------------------------------






More information about the Lazarus mailing list