Re: [Lazarus] Only VCL-compatible components in LCL

2014-12-12 Thread Kostas Michalopoulos
I've always found CCR to be a hacky and hard to use solution, starting from
the requirement to use SVN or Git.

IMO the best solution would be to have a real package manager that can
access repositories (with a default one provided by the lazarus devs that
should replace the CCR and provide everything in it) from inside Lazarus
that can download and install packages. Opening a project file that relies
on a package should scan the repositories to see if it is available and ask
the user to download it. The user should not need to do anything more than
selecting Yes or No there and to install new packages should be done from
the Add / Remove packages window that is already there. Basically what
Netbeans and Eclipse are already doing for many years now (especially
Eclipse).

Personally i have a bunch of Lazarus projects at my site that many of my
own programs use. Right now one has to track and download each requirement
separately - look at this wiki page
http://runtimelegend.com/rep/rtworld/wiki?name=Build+and+Prepare+Runtime+World
as an example (it used to be longer before multithreadprocslaz became part
of Lazarus itself). One needs to download, build and install four separate
packages manually. I could instead provide a repository that can be added
in the package manager (and even referenced from my program's project file
to be added automatically so the user wont even have to add it manually!)
and have Lazarus download and install the required packages.

As things are right now, if something is not part of Lazarus it is a great
pain to use it exactly because of all those extra steps required. Other
languages and environments have already solved that long time ago and i
think Lazarus should also do the same. Using a library should be as pain
free as possible and ATM in Lazarus it is hard - with the exception of
Windows, it is even harder than C and C++ since in Linux all popular
distributions include thousands of ready to use libraries which are
available with a single `apt-get` (or the distro's equivalent).


On Fri, Dec 12, 2014 at 8:19 AM, Hans-Peter Diettrich drdiettri...@gmx.de
wrote:


 Am 11.12.2014 um 14:29 schrieb Dmitry Boyarintsev:

  On Thu, Dec 11, 2014 at 1:11 AM, Hans-Peter Diettrich 
 drdiettri...@gmx.de wrote:

 As I understand that: The components in the LCL should be available with
 all supported widgetsets. An implementation for only one widgetset is not
 worth of adding it to the LCL, because it would burden the LCL maintainers
 with the implementation for all other widgetsets.


  On the other hand, it pretty much blocks anyone else to add components
 to LCL.
 Because an author has to introduce a solution for all (or most?)
 widgetsets by LCL.
  With more widgetsets introduced to LCL, it might be next to impossible
 for some developers.

 Why not leave it to the LCL maintainers, which controls should be added to
 the LCL, and which not? Provide them good reasons for doing so...

 DoDi

 --
 ___
 Lazarus mailing list
 Lazarus@lists.lazarus.freepascal.org
 http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Only VCL-compatible components in LCL

2014-12-12 Thread Marcos Douglas
On Fri, Dec 12, 2014 at 10:38 AM, Kostas Michalopoulos
badsectorac...@gmail.com wrote:
 I've always found CCR to be a hacky and hard to use solution, starting from
 the requirement to use SVN or Git.

 IMO the best solution would be to have a real package manager that can
 access repositories (with a default one provided by the lazarus devs that
 should replace the CCR and provide everything in it) from inside Lazarus
 that can download and install packages. Opening a project file that relies
 on a package should scan the repositories to see if it is available and ask
 the user to download it. The user should not need to do anything more than
 selecting Yes or No there and to install new packages should be done from
 the Add / Remove packages window that is already there. Basically what
 Netbeans and Eclipse are already doing for many years now (especially
 Eclipse).

 Personally i have a bunch of Lazarus projects at my site that many of my own
 programs use. Right now one has to track and download each requirement
 separately - look at this wiki page as an example (it used to be longer
 before multithreadprocslaz became part of Lazarus itself). One needs to
 download, build and install four separate packages manually. I could instead
 provide a repository that can be added in the package manager (and even
 referenced from my program's project file to be added automatically so the
 user wont even have to add it manually!) and have Lazarus download and
 install the required packages.

 As things are right now, if something is not part of Lazarus it is a great
 pain to use it exactly because of all those extra steps required. Other
 languages and environments have already solved that long time ago and i
 think Lazarus should also do the same. Using a library should be as pain
 free as possible and ATM in Lazarus it is hard - with the exception of
 Windows, it is even harder than C and C++ since in Linux all popular
 distributions include thousands of ready to use libraries which are
 available with a single `apt-get` (or the distro's equivalent).

That is a good idea.

Marcos Douglas

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Only VCL-compatible components in LCL

2014-12-11 Thread Dmitry Boyarintsev
On Thu, Dec 11, 2014 at 1:11 AM, Hans-Peter Diettrich drdiettri...@gmx.de
wrote:

 As I understand that: The components in the LCL should be available with
 all supported widgetsets. An implementation for only one widgetset is not
 worth of adding it to the LCL, because it would burden the LCL maintainers
 with the implementation for all other widgetsets.


On the other hand, it pretty much blocks anyone else to add components to
LCL.
Because an author has to introduce a solution for all (or most?) widgetsets
by LCL.
With more widgetsets introduced to LCL, it might be next to impossible for
some developers.

thanks,
Dmitry
--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Only VCL-compatible components in LCL

2014-12-11 Thread Martin Frb

On 11/12/2014 07:54, Juha Manninen wrote:
True, LCL must have other useful components, too. I am not really 
against adding this particular component if it proves to be different 
enough compared to existing comps. Somebody else must decide that.
Still, I have understood LCL should be kept small rather than bloated. 
It is not meant to cover every possible use case. It is ok to use 
components from elsewhere.
Suggesting CCR is seen as a punishment. Why? It was made for such 
components. It supports maintenance of those components well. The 
author gets commit access and there is a CCR section in bug tracker.
Currently most CCR components are poorly maintained but it is the 
fault of the fleeing authors, not CCR itself.


IMHO the question is, should it be distributed with the Lazarus 
releases, and therefore be added to the Lazarus SVN. IF so, it does not 
need to be LCL, there is also LazControls, or the option of a new package.


But the question remains if it should... Sure it is an useful component 
(though my idea of time-edit would be up/down arrows). There are lots of 
other useful components. Besides the question of maintenance (if it 
stops working, and no one maintains/fixes it, then it gets thrown out?), 
the installer already quite big. And there are still countries where 
bandwidth is not unlimited.


Even if this was added, what about the many that are not. The 
fundamental problem is making add-on components more accessible.


If this time-picker was added to the CCR it only highlights the existing 
problem. There must be a maintainer.
But adding it to the LCL (or main svn) does not change that. Without 
maintainer still will stop to work eventually. So adding it to the main 
SVN depends on an existing developer volunteering as maintainer. (and 
none has yet)


What the CCR need is either one release manager, or every contributor on 
the CCR doing that them self. Then for every Lazarus release a set of 
tested source archives could be offered for download, containing the 
version of each of the packages that works with the release.
If maintainers want to add such archives we can probably find a place to 
upload them all for download. Maybe it is even possible to add them to 
sourceforge in a separate folder. Then the CCR had the same visibility 
as the Lazarus releases themself



--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Only VCL-compatible components in LCL

2014-12-11 Thread Michael Fuchs
Am 11.12.2014 08:54, schrieb Juha Manninen:
 Michael Fuchs, can you promise to maintain your component, where ever it
 is placed?

Of course.

Michael


--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Only VCL-compatible components in LCL

2014-12-11 Thread Mattias Gaertner
On Thu, 11 Dec 2014 14:03:36 +
Martin Frb laza...@mfriebe.de wrote:

[...]
 Even if this was added, what about the many that are not. The 
 fundamental problem is making add-on components more accessible.

+1


 What the CCR need is either one release manager, or every contributor on 
 the CCR doing that them self. Then for every Lazarus release a set of 
 tested source archives could be offered for download, containing the 
 version of each of the packages that works with the release.
 If maintainers want to add such archives we can probably find a place to 
 upload them all for download. Maybe it is even possible to add them to 
 sourceforge in a separate folder. Then the CCR had the same visibility 
 as the Lazarus releases themself

+1
The CCR contains packages with different directory layouts. To make the
CCR a repository the packages need to follow some rules. And each
package needs some information, e.g. what platforms they support.

Mattias

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Only VCL-compatible components in LCL

2014-12-11 Thread Mark Morgan Lloyd

Mattias Gaertner wrote:

On Thu, 11 Dec 2014 14:03:36 +
Martin Frb laza...@mfriebe.de wrote:


What the CCR need is either one release manager, or every contributor on 
the CCR doing that them self. Then for every Lazarus release a set of 
tested source archives could be offered for download, containing the 
version of each of the packages that works with the release.
If maintainers want to add such archives we can probably find a place to 
upload them all for download. Maybe it is even possible to add them to 
sourceforge in a separate folder. Then the CCR had the same visibility 
as the Lazarus releases themself


+1
The CCR contains packages with different directory layouts. To make the
CCR a repository the packages need to follow some rules. And each
package needs some information, e.g. what platforms they support.


And it needs a decent index, with up-to-date links. Whenever I've gone 
looking for something I've had to resort to Google to find where it 
actually lives.


--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Only VCL-compatible components in LCL

2014-12-11 Thread Dmitry Boyarintsev
On Thu, Dec 11, 2014 at 12:31 PM, Mark Morgan Lloyd 
markmll.laza...@telemetry.co.uk wrote:


 And it needs a decent index, with up-to-date links. Whenever I've gone
 looking for something I've had to resort to Google to find where it
 actually lives.


This index? http://wiki.freepascal.org/Using_the_Lazarus-ccr_SVN_repository

thanks,
Dmitry
--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Only VCL-compatible components in LCL

2014-12-11 Thread Graeme Geldenhuys
On 2014-12-11 06:11, Hans-Peter Diettrich wrote:
 not worth of adding it to the LCL, because it would burden the LCL 
 maintainers with the implementation for all other widgetsets.

Why would it be widgetset specific? Isn't LCL cross-platform any more?
If you implement a new GUI component using LCL, surely it should work on
all platforms?  That is how fpGUI Toolkit works, and the developer never
needs to worry about that.

Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Only VCL-compatible components in LCL

2014-12-11 Thread Dmitry Boyarintsev
On Thu, Dec 11, 2014 at 4:13 PM, Graeme Geldenhuys 
mailingli...@geldenhuys.co.uk wrote:

 Why would it be widgetset specific? Isn't LCL cross-platform any more?
 If you implement a new GUI component using LCL, surely it should work on
 all platforms?  That is how fpGUI Toolkit works, and the developer never
 needs to worry about that.

I presume there's a difference between LCL and fpGUI.
LCL is based on system native controls in the first place, actually a
widgetset. fpGUI is custom-drawn.

Thus the base set of LCL controls, should be limited to a small set of
system native controls.
fpGUI or MSE doesn't have this limitation.

Adding a really cross-platform control (that's not based on a native
control, but only LCL level APIs) is always questionable, since it
increases the size of the library. And it might be better to make it a 3d
party component.

Even components that are based on native controls are not part of LCL. I.e.
OpenGLContext - is a separate package or Printers4Lazarus.

thanks,
Dmitry
--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Only VCL-compatible components in LCL

2014-12-11 Thread Hans-Peter Diettrich


Am 11.12.2014 um 14:29 schrieb Dmitry Boyarintsev:
On Thu, Dec 11, 2014 at 1:11 AM, Hans-Peter Diettrich 
drdiettri...@gmx.de mailto:drdiettri...@gmx.de wrote:


As I understand that: The components in the LCL should be
available with all supported widgetsets. An implementation for
only one widgetset is not worth of adding it to the LCL, because
it would burden the LCL maintainers with the implementation for
all other widgetsets.


On the other hand, it pretty much blocks anyone else to add components 
to LCL.
Because an author has to introduce a solution for all (or most?) 
widgetsets by LCL.
With more widgetsets introduced to LCL, it might be next to impossible 
for some developers.
Why not leave it to the LCL maintainers, which controls should be added 
to the LCL, and which not? Provide them good reasons for doing so...


DoDi
--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Only VCL-compatible components in LCL

2014-12-10 Thread Felipe Monteiro de Carvalho
On Tue, Dec 9, 2014 at 11:29 PM, Michael Fuchs freepas...@ypa-software.de
 It is not a problem for me, to publish this component outside the LCL. I
 was just surprised, that the development of the LCL has such a strong
 dependency to the VCL. I understand, that the LCL should have at least
 all the components of the VCL for compatibility reasons. But what is the
 problem with new components?

 No offense, just curiosity.

I think that the problem is that imagine you are a beginner using a
library and this library has 5 comboboxes, 7 buttons, 3 different open
dialogs  its just bad design. A library needs only 1 control for
each functionality. 1 more is bloat... small is beaultiful is a good
design guideline =)

If the functionality is really something useful for most programmers
we have no trouble adding things that the VCL doesnt cover. We added
TTrayIcon before the VCL for example.

The lazarus-ccr is the place were other lcl-based controls can be
placed, we have there SVN, place for hosting releases, etc.

-- 
Felipe Monteiro de Carvalho

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Only VCL-compatible components in LCL

2014-12-10 Thread Dmitry Boyarintsev
On Wed, Dec 10, 2014 at 9:42 AM, Felipe Monteiro de Carvalho 
felipemonteiro.carva...@gmail.com wrote:

 I think that the problem is that imagine you are a beginner using a
 library and this library has 5 comboboxes, 7 buttons, 3 different open
 dialogs  its just bad design.


I'm still being caught by the selection:
TButton
TToggleBox
TBitBtn
TSpeedButton

But seriously, I typically spend some time in selection between TToggleBox,
BitBtn and SpeedButton.

But to the subject - TDateEdit certainly could/should be available as 3d
party package. Maybe even as part of Lazarus-CCR.

thanks,
Dmitry
--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Only VCL-compatible components in LCL

2014-12-10 Thread Bart
On 12/10/14, Dmitry Boyarintsev skalogryz.li...@gmail.com wrote:

 But to the subject - TDateEdit certainly could/should be available as 3d
 party package. Maybe even as part of Lazarus-CCR.

TDateEdit is in LCL.
TDateTimePicker could be part of minimal IDE IMO (as is TDateEdit),
and I find it confusing that one (TDateTimePicker ) is in
CommonControls, the others (TDateEdit and companions) in Misc Tab.

Bart

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Only VCL-compatible components in LCL

2014-12-10 Thread Graeme Geldenhuys
On 2014-12-09 22:29, Michael Fuchs wrote:
 It is not a problem for me, to publish this component outside the LCL. I
 was just surprised, that the development of the LCL has such a strong
 dependency to the VCL.

Maybe I'm not understanding Juha, but I think this is rubbish. It's not
that black and white. LCL contains a lot of components not compatible or
not existing in the VCL.

But I also understand that they don't want every single component
included in the LCL, because it means they will probably end up having
to support it. Hence they created the Lazarus-CCR project on SourceForge.


Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Only VCL-compatible components in LCL

2014-12-10 Thread Graeme Geldenhuys
On 2014-12-10 14:42, Felipe Monteiro de Carvalho wrote:
 The lazarus-ccr is the place were other lcl-based controls can be
 placed, we have there SVN, place for hosting releases, etc.

And a Git repo for many years already. :)

Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Only VCL-compatible components in LCL

2014-12-10 Thread Hans-Peter Diettrich


Am 11.12.2014 um 00:20 schrieb Graeme Geldenhuys:

On 2014-12-09 22:29, Michael Fuchs wrote:

It is not a problem for me, to publish this component outside the LCL. I
was just surprised, that the development of the LCL has such a strong
dependency to the VCL.

Maybe I'm not understanding Juha, but I think this is rubbish. It's not
that black and white. LCL contains a lot of components not compatible or
not existing in the VCL.

But I also understand that they don't want every single component
included in the LCL, because it means they will probably end up having
to support it.
As I understand that: The components in the LCL should be available with 
all supported widgetsets. An implementation for only one widgetset is 
not worth of adding it to the LCL, because it would burden the LCL 
maintainers with the implementation for all other widgetsets.


DoDi

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Only VCL-compatible components in LCL

2014-12-10 Thread Juha Manninen
On Thursday, December 11, 2014, Graeme Geldenhuys 
mailingli...@geldenhuys.co.uk wrote:

 Maybe I'm not understanding Juha, but I think this is rubbish. It's not
 that black and white. LCL contains a lot of components not compatible or
 not existing in the VCL.

 But I also understand that they don't want every single component
 included in the LCL, because it means they will probably end up having
 to support it. Hence they created the Lazarus-CCR project on SourceForge.


True, LCL must have other useful components, too. I am not really against
adding this particular component if it proves to be different enough
compared to existing comps. Somebody else must decide that.
Still, I have understood LCL should be kept small rather than bloated. It
is not meant to cover every possible use case. It is ok to use components
from elsewhere.
Suggesting CCR is seen as a punishment. Why? It was made for such
components. It supports maintenance of those components well. The author
gets commit access and there is a CCR section in bug tracker.
Currently most CCR components are poorly maintained but it is the fault of
the fleeing authors, not CCR itself.

Michael Fuchs, can you promise to maintain your component, where ever it is
placed?

Regards
Juha
--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


[Lazarus] Only VCL-compatible components in LCL

2014-12-09 Thread Michael Fuchs
Hello,

some months ago, I wrote a a time-input component, which is oriented on
the TDateEdit. Another programmer gave me the idea to integrate it to
the LCL. So I add a entry to the bugtracker and attach a patch.
http://bugs.freepascal.org/view.php?id=27147

In the bugtracker discussion, Juha Manninen wrotes:
This proposed component from Michael Fuchs competes with
TDateTimePicker and is not VCL compatible. As LCL is a VCL compatible
library, it logically belongs somewhere else.

It is not a problem for me, to publish this component outside the LCL. I
was just surprised, that the development of the LCL has such a strong
dependency to the VCL. I understand, that the LCL should have at least
all the components of the VCL for compatibility reasons. But what is the
problem with new components?

No offense, just curiosity.

Michael

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Only VCL-compatible components in LCL

2014-12-09 Thread leledumbo
 But what is the problem with new components? 

No problem with that I guess, but the competes part could be. i.e.: there
are two competing components which do the same thing (and belongs to the
same package: LCL) with one of them is not VCL compatible.



--
View this message in context: 
http://free-pascal-lazarus.989080.n3.nabble.com/Lazarus-Only-VCL-compatible-components-in-LCL-tp4039781p4039782.html
Sent from the Free Pascal - Lazarus mailing list archive at Nabble.com.

--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus