Michael this sounds like a very good plan indeed and very much inline with my thoughts.…
Michael this sounds like a very good plan indeed and very much inline with my thoughts.
Great,
now the hard part: implementing it :)
Michael.

Mailing lists / lazarus / 1999-04
28 messages · 7 people ·
Reply by email Subscribe to this list Your subscription
Read-only archive. Use j and k to move between messages.
Michael this sounds like a very good plan indeed and very much inline with my thoughts.…
Michael this sounds like a very good plan indeed and very much inline with my thoughts.
Great,
now the hard part: implementing it :)
Michael.
CVS has been updated with my latest code with TRadioButtons in it.
Remember that if you create a component, and do an AddControl then it changes, we will need to look and see if we need to do a RemoveControl from the owner, then destroy it and rebuild it. The state of the control should remain constant because we aren't destroying the class itself that is holding it's properties.
Anyone understand that gibberish?
Shane
--Nope, still nothing cute to say--
>> "Shane Miller" 04/21 3:34 PM >>>
Problem: The RadioButton needs to access a "group" item so it knows what group it's in when it's created. However, the "group" property doesn't exist in TControl or TWinControl so either I have to create one (which is kind of a waste because nothing else uses it) or I have to actually create the component in the TRadioButton class.
If I create the component in the TRadioGroup class, then how do I know when to destroy it and re-construct it when , for example, the caption changes? See if the caption changes, the radiobutton has to be recreated because gtk doesn't give you the ability to simply change the label for a radiobutton. You have to set the label when you create it.
So, should I move "group" all the way down, or is there a way (?virtual function?) to notify a child class of a change caused by the parent .............Can TControl call something in TRadioButton....
Shane
-- If I had something cute to say I forgot what it was --
_________________________________________________________________ To unsubscribe: mail with
"unsubscribe" as the Subject
Hmmmm...... events were slightly difficult. I like the way FPC is initialy distributed…
Here is a idea! place all files in one large binary file using streaming. The lazarus app on the first run will pull the necessary files out and install them to the proper locations. I have used this type of method in delphi before and it works pretty good.
I have done lots of work with binary streaming and just love it.
Cliff
Could someone tell me if I am making an error here. I am looking at the AGTK documentation and for radiobuttons there is a function called gtk_toggle_button_set_active, but in the gtk for pascal it's called set_active. Is this correct? If so, why the name change?
Shane
>> Cliff Baeseman 04/21 11:47 AM >>>
Here is a idea! place all files in one large binary file using streaming. The lazarus app on the first run will pull the necessary files out and install them to the proper locations. I have used this type of method in delphi before and it works pretty good.
I have done lots of work with binary streaming and just love it.
Cliff
Are you documentation or 1.2 there may have been a change in 1.2..
Cliff
Hmmmm...... events were slightly difficult.
I like the way FPC is initialy distributed with the zip files. That could be our initial method until we get a graphical install completed.
Shane
-- I still have nothing cute to say --
>> Cliff Baeseman 04/21 10:59 AM >>>
Come now it does not seem that it should be to bad.
Not harder then getting events working with GTK right Shane.
Cliff
What is the url of lazarus cvs? and how should I connect there? Michael Zayats…
Michael Zayats wroteHello, What is the url of lazarus cvs? and how should I connect there?
Until Cliff finds his own server, it is on the FPC cvs server. 'cvs co lazarus'
Michael.
now the hard part: implementing it :) Michael.
Come now it does not seem that it should be to bad.
Not harder then getting events working with GTK right Shane.
Cliff
I've never used streaming before. Sounds cool but I'll let you handle it. Problem is that streaming doesn't do much for compression. It would be nice if the files could be compressed but I'll take a look at it too..
Shane
>> Cliff Baeseman 04/21 11:47 AM >>>
Here is a idea! place all files in one large binary file using streaming. The lazarus app on the first run will pull the necessary files out and install them to the proper locations. I have used this type of method in delphi before and it works pretty good.
I have done lots of work with binary streaming and just love it.
Cliff
This brings up something I have been thinking about. Once we are ready to distribute…
Indeed :-)
You have a serious problem then... Packaging is NOT easy !
I imagine the following:
You can package everything (it's GPL'ed after all) and install simply in non-standard places: (I imagine a root of /usr/lib/lazarus)
/etc/lazarus.cfg (lazarus options, contains an entry for /usr/lib/lazarus/) (should have a .lazarus.cfg counterpart in $HOME)
/usr/lib/lazarus/ppc386 (compiler binary called by lazarus ) (may be obsolete if included in the ide !!)
/usr/lib/lazarus/lazarus.cfg (lazarus COMPILER options, passed to compiler with @/usr/lib/etc.. ) /usr/lib/lazarus/units/rtl RTL units
/usr/lib/lazarus/units/fcl FCL units
/usr/lib/lazarus/units/lazarus Lazarus units. /usr/lib/lazarus/libs Libs needed by lazarus IDE only. /usr/doc/lazarus Documentation
Etc. This way it won't clash with the standard compiler stuff. The only executable that the user sees is lazarus, which in turn calls the compiler located in /usr/lib/lazarus (or if it's internal, no other exe is called)
The user can still have a 'normal' fpc distribution in the standard places.
Since you made a GUI IDE, you can also make a GUI install program, (no use installing the former, if you can't use the latter) where the needed information can be entered by the user, checks for needed permissions can be done etc.
I once made one for FPC using X-forms. very easy, small and lean.
I imagine the Megido people will do something similar. So you can have both IDE's running together :-)
Michael.
Problem: The RadioButton needs to access a "group" item so it knows what group it's in when it's created. However, the "group" property doesn't exist in TControl or TWinControl so either I have to create one (which is kind of a waste because nothing else uses it) or I have to actually create the component in the TRadioButton class.
If I create the component in the TRadioGroup class, then how do I know when to destroy it and re-construct it when , for example, the caption changes? See if the caption changes, the radiobutton has to be recreated because gtk doesn't give you the ability to simply change the label for a radiobutton. You have to set the label when you create it.
So, should I move "group" all the way down, or is there a way (?virtual function?) to notify a child class of a change caused by the parent .............Can TControl call something in TRadioButton....
Shane
-- If I had something cute to say I forgot what it was --
Now i compil correctly gtk with samples (with
the instruction of Michael Van Canneyt) but to compil lazarus I don't have the 'classes.pp' file.
�
�
Thank
�
E.Jourde
Hello,
What is the url of lazarus cvs?
and how should I connect there?
Michael Zayats
--------------
www.megido.org
I think I figured it out. Still not the same name but I think I found the appropriate procedure call (gtk_toggle_button_set_state)
When I click on the radiobutton's I can't tell if the toggle though. Must be overlooking someting yet.....not like it hasn't happened before.
Shane
>> Cliff Baeseman 04/21 1:31 PM >>>
Are you documentation or 1.2 there may have been a change in 1.2..
Cliff
ftp://tflily.fys.kuleuven.ac.be/pub/fpc/source/fcl.zip unzip fcl.zip cd fcl/linux make…
Michael,
This brings up something I have been thinking about. Once we are ready to distribute should we package the FCL and our stuff as one? My intent is to have Lazarus install and configure everything needed on the client during the first run of the app. This will require me to package the Compiler, GTK units, FCL and our code.
What are your thoughts on this.
Cliff
Now i compil correctly gtk with samples (with the instruction of Michael Van Canneyt) but…
Eric Jourde wroteNow i compil correctly gtk with samples (with the instruction of Michael Van Canneyt) but to compil lazarus I don't have the 'classes.pp' file.
ftp://tflily.fys.kuleuven.ac.be/pub/fpc/source/fcl.zip
unzip fcl.zip
cd fcl/linux
make
and you get classes.ppu and tinifiles.ppu
Michael.
Indeed :-) You have a serious problem then... Packaging is NOT easy ! I imagine the…
Michael this sounds like a very good plan indeed and very much inline with my thoughts.
Cliff
Where do you see evidence of that?
>> Cliff Baeseman 04/22 9:01 AM >>>
There is also a syntax highlighter widget that exists for gtk. In order to use it we will need to convert the header.
Should not be to bad I do not imagine it has to many methods.
Cliff
The next thing to do is getting the File - New , File -Open , File - Quit and Project -…
There is also a syntax highlighter widget that exists for gtk. In order to use it we will need to convert the header.
Should not be to bad I do not imagine it has to many methods.
Cliff
CVS has been updated with my latest code with TRadioButtons in it. Remember that if you…
You can try the pchar change very easy create a labelbutton and put it on main. Then in createcontrol change strtemp after calling the widget creation. If the latter change shows it will change dynamic.
Just doing a little grasping here.
Cliff
That's one way of doing it. The drawback is that then you get one big setup file.…
Sure Thank you I would really like to see the code.
Cliff
CVS has been updated with my latest code with TRadioButtons in it. Remember that if you…
I understand this
Cliff
Problem: The RadioButton needs to access a "group" item so it knows what group it's in…
I was thinking about this the other night a little. GTK uses pchar or pointer to characters. If I change the PChar does the label change dynamically if the pchar changes? I have not tried it so I do not really know if it will or not. This would really clean things up a bit.
Else I believe I would just create the group on the lower end much like I do with the menu system.
Cliff
The next thing to do is getting the File - New , File -Open , File - Quit and Project - New Project menus to work. I would like to see a TApplication and TScreens class too. The TApplication's main task is to go through and create all the forms with a procedure Application.CreateForm(Class, Formname), or something close to that.
The TApplication should also contain a TList that contains all the forms and other controls. It is used to run through it and create all the children, plus keep track of all the controls in the project.
I am going to try and get the Memo.Lines.Loadfromfile top work correctly today.
Shane
>> Cliff Baeseman 04/21 4:02 PM >>>
Shane where do you see us going now. I believe that we have a library that is complete enough to build the first pass IDE.
I relize we will have to mod some of the controls and add methods but other than that I see us starting to work the actual IDE now. We can always add a control here or there if the certain section requires it. I would really like to start working on the compiler options form this evening.
Cliff
Problem: The RadioButton needs to access a "group" item so it knows what group it's in…
Shane Miller wroteSo, should I move "group" all the way down, or is there a way (?virtual function?) to notify a child class of a change caused by the parent .............Can TControl call something in TRadioButton....
If you are accessing the object as a TControl object then no it doesn't have any way of knowing about TRadioButton methods. TRadioButton of course is aware of TControl methods. The only down and dirty way would be to create a pointer to a procedure in the TControl class. Under normal conditions you would set this procedure to nil. If you create a TRadioButton it could set this variable with the pointer to the TRadioClass method you want TControl to call. In other words it would be a callback method from TControl to TRadioButton. It would be checked and called by TControl when a change was made. Doing this way doesn't tie it into TRadioButton. Any object built upon TControl could then use this point so that it could be notified if a change was made.
Again I could just be talking out of turn again and saying something stupid. :-)
CVS has been updated with my latest code with TRadioButtons in it. Remember that if you…
Shane where do you see us going now. I believe that we have a library that is complete enough to build the first pass IDE.
I relize we will have to mod some of the controls and add methods but other than that I see us starting to work the actual IDE now. We can always add a control here or there if the certain section requires it. I would really like to start working on the compiler options form this evening.
Cliff
Where do you see evidence of that? There is also a syntax highlighter widget that exists…
It is not part of the standard library but supposedly exists in the gtk cvs for use?
If not I have a couple of other sources for it.
Cliff
Here is a idea! place all files in one large binary file using streaming. The lazarus app…
Cliff Baeseman wroteHere is a idea! place all files in one large binary file using streaming. The lazarus app on the first run will pull the necessary files out and install them to the proper locations. I have used this type of method in delphi before and it works pretty good.
That's one way of doing it. The drawback is that then you get one big setup file. Experience has learned that many people have problems downloading such a file, so we broke it up into smaller parts, so people could download parts at a time. (we literally got hundreds of mails asking for that) Just what experience has taught us...
The DOS version install program (which can, BTW, also be run on linux now that FreeVision is complete) has a built-in zip extractor. If you want I can send you the code for this, so you can adapt it. This way you don't need an external program at all, while avoiding a too large package
Michael.