Re: [Lazarus] TTreenode.data

2013-09-13 Thread Juha Manninen
On Fri, Sep 13, 2013 at 8:48 AM, Richard Mace richard.m...@gmail.com wrote:
 And I am now getting an exception when my app run?

Use debugger to see what goes wrong.

Juha

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


[Lazarus] Install/Uninstall package form: Do not install more

2013-09-13 Thread Reinier Olislagers
The Install/Uninstall package form has two lists:
a) installed packages (or those marked for installation. Caption above:
Install
b) available but not installed packages. Caption: Do not install

WHen I started using Lazarus, the Do not install caption made it
unclear that this is actually the list of available packages, and
Lazarus will not actually e.g. uninstall anything that is in that list
when you click Saven and rebuild IDE. (I know, I might be easily
confused, not RTFM etc).

1. Would it be a good idea to rename the caption to Available?

Some additional remarks/requests:
2. In additition to the red overlay for packages marked for
uninstalleation, and the green one for packages marked for installation,
perhaps a hint/tooltip could appear mentioned Marked for
installation/Marked for removal so people who don't know what those
icons mean are told? Alternatively I suppose mentioning this in Package
info in current state may also be considered.

3. Perhaps it's a good idea to have a search box for the left list
(installed packages) as well... depends on the amount of stuff you have
installed but it can be useful.

4. A long time ago I sent a reminder to package maintainers that it
would be a good idea to fill out the Description field of the package...
There's still quite some packages that have no info (aarrebase,
cocoa_pkg, customdrawn, demoidehelp,  etc.)

Thanks,
Reinier

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


Re: [Lazarus] Help needed for issue #20311: IDE always tailors Target processor options for Intel CPUs

2013-09-13 Thread Juha Manninen
On Fri, Sep 13, 2013 at 12:10 AM, Mark Morgan Lloyd
markmll.laza...@telemetry.co.uk wrote:
 What do you need for this: fpc -i output?

Yes, running on different CPUs. It is this section:
  Supported CPU instruction sets:

My version shows only ATHLON64 which I fixed now in the code for x86_64 CPU.

Mattias earlier told me about fpc -P option for selecting the CPU,
but it would require a cross-compiled fpc or something. For me only
this works:
 $ fpc -i -Px86_64

Other values like fpc -i -Pi386 or fpc -i -Parm give an error:
  Error: ppc386 can't be executed, error message: Failed to execute
ppc386, error code: 127

One thing is that selecting a different CPU family and processor type
in Lazarus IDE is not supported by FPC in most cases, but at least we
should see realistic choices in the list.

Juha

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


Re: [Lazarus] Help needed for issue #20311: IDE always tailors Target processor options for Intel CPUs

2013-09-13 Thread Sven Barth

Am 13.09.2013 09:50, schrieb Juha Manninen:

On Fri, Sep 13, 2013 at 12:10 AM, Mark Morgan Lloyd
markmll.laza...@telemetry.co.uk wrote:

What do you need for this: fpc -i output?

Yes, running on different CPUs. It is this section:
   Supported CPU instruction sets:

My version shows only ATHLON64 which I fixed now in the code for x86_64 CPU.

Mattias earlier told me about fpc -P option for selecting the CPU,
but it would require a cross-compiled fpc or something. For me only
this works:
  $ fpc -i -Px86_64

Other values like fpc -i -Pi386 or fpc -i -Parm give an error:
   Error: ppc386 can't be executed, error message: Failed to execute
ppc386, error code: 127

One thing is that selecting a different CPU family and processor type
in Lazarus IDE is not supported by FPC in most cases, but at least we
should see realistic choices in the list.

When you only do a

make all CPU_TARGET=Whatever_CPU OS_TARGET=Whatever_Target

then a compiler for that target will be created (e.g. ppc386, ppcx64, 
ppc68k, etc.). You should not use that compiler for production however 
as it is compiled using the RTL of your starting compiler. For checking 
the supported CPUs using -i this will be sufficient however.


Thereby Whatever_CPU is one of FPC's supported CPUs (e.g. i386, 
x86_64, m68k, mips, etc.) and Whatever_Target is a target supported on 
that CPU (mostly you can use linux, for AVR you'll need to use 
embedded AFAIK).


Alternatively you can just take a look at the compiler/$cpu/cpuinfo.pas 
units where there is a tcpuinfo enum and a cputypestr array. The latter 
is what you can pass using -Cp.


Regards,
Sven

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


Re: [Lazarus] Help needed for issue #20311: IDE always tailors Target processor options for Intel CPUs

2013-09-13 Thread Mark Morgan Lloyd

Sven Barth wrote:

Am 13.09.2013 09:50, schrieb Juha Manninen:

On Fri, Sep 13, 2013 at 12:10 AM, Mark Morgan Lloyd
markmll.laza...@telemetry.co.uk wrote:

What do you need for this: fpc -i output?

Yes, running on different CPUs. It is this section:
   Supported CPU instruction sets:


Alternatively you can just take a look at the compiler/$cpu/cpuinfo.pas 
units where there is a tcpuinfo enum and a cputypestr array. The latter 
is what you can pass using -Cp.


In any event, I'll work through the various compilers (running natively) 
that I've got available to me. They won't be the most recent in some 
cases since my fast Qemu system blew up, so e.g. somebody else could 
usefully check e.g. 68k and in particular ARM.


Is there anything else that I could usefully grab at the same time, e.g. 
ABI types? In particular, noting that you've fixed 
http://bugs.freepascal.org/view.php?id=20310 but is there some variant 
of  fpc -i  etc. that lists applicable assembler styles?


--
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] Help needed for issue #20311: IDE always tailors Target processor options for Intel CPUs

2013-09-13 Thread Sven Barth

Am 13.09.2013 10:37, schrieb Mark Morgan Lloyd:

Sven Barth wrote:

Am 13.09.2013 09:50, schrieb Juha Manninen:

On Fri, Sep 13, 2013 at 12:10 AM, Mark Morgan Lloyd
markmll.laza...@telemetry.co.uk wrote:

What do you need for this: fpc -i output?

Yes, running on different CPUs. It is this section:
   Supported CPU instruction sets:


Alternatively you can just take a look at the 
compiler/$cpu/cpuinfo.pas units where there is a tcpuinfo enum and a 
cputypestr array. The latter is what you can pass using -Cp.


In any event, I'll work through the various compilers (running 
natively) that I've got available to me. They won't be the most recent 
in some cases since my fast Qemu system blew up, so e.g. somebody 
else could usefully check e.g. 68k and in particular ARM.

m68k has (since a few days) the following:
68000
68020
isaa
isaa+
isab
isac


Is there anything else that I could usefully grab at the same time, 
e.g. ABI types? In particular, noting that you've fixed 
http://bugs.freepascal.org/view.php?id=20310 but is there some variant 
of  fpc -i  etc. that lists applicable assembler styles?


The assembler styles are reported in the -h output at -R. They are 
adjusted for each target. The FPU type for -Cf might also be interesting 
(especially for ARM). The output is available in fpc -i as well.


Regards,
Sven

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


Re: [Lazarus] TTreenode.data

2013-09-13 Thread Reinier Olislagers
On 13/09/2013 09:37, Antonio Fortuny wrote:
 Le 13/09/2013 07:48, Richard Mace a écrit :
 OK, I now have this code:
 Details are missing about your implementation: Lzarus  FPC, OS, etc.

Guessing Windows x86 - not writing a FreeSwitch control application, by
any chance [1] ;)

http://thread.gmane.org/gmane.comp.telephony.freeswitch.user/64508


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


Re: [Lazarus] Help needed for issue #20311: IDE always tailors Target processor options for Intel CPUs

2013-09-13 Thread Juha Manninen
-h output at -R says here:
-Rx  Assembler reading style:
  -Rdefault  Use default assembler for target

Well, I would be happy if somebody provides a patch for the remaining lists.
The code is structured so that it is easy to add processor type lists. See
  TCompilerConfigTargetFrame.UpdateByTargetCPU

This issue is now low priority for me because of 3 reasons:

1. In a way it is fixed now as wrong values cannot be selected any more.
Now this issue is something between a bug and a feature.

2. This development is parallel to the All Options parser and GUI
that I made earlier.
It reads options directly from FPC, but only for the current platform / CPU.
How these two things could be combined? I don't know and I don't think
about it now. Later maybe...

3. I want to get some bugs fixed for the coming Lazarus 1.2 branch.
They get higher priority.
Next week I start new work at a place far away from my home. I stay
there for 2 weeks and then continue by tele-cummuting. I keep my
thumbs up for myself that it will work out.
In any case my resources for this project will be limited then.

Regards,
Juha

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


Re: [Lazarus] Help needed for issue #20311: IDE always tailors Target processor options for Intel CPUs

2013-09-13 Thread Sven Barth

Am 13.09.2013 11:50, schrieb Juha Manninen:

-h output at -R says here:
-Rx  Assembler reading style:
   -Rdefault  Use default assembler for target
Yes, some have only one assembler reader. On i386 and AFAIK x86_64 there 
are different styles possible. Don't know on other CPUs.


Regards,
Sven

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


Re: [Lazarus] Help needed for issue #20311: IDE always tailors Target processor options for Intel CPUs

2013-09-13 Thread Juha Manninen
On Fri, Sep 13, 2013 at 1:03 PM, Sven Barth pascaldra...@googlemail.com wrote:
 Yes, some have only one assembler reader. On i386 and AFAIK x86_64 there are
 different styles possible. Don't know on other CPUs.

This is x86_64. Apparently it only has one reader.

Juha

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


Re: [Lazarus] Help needed for issue #20311: IDE always tailors Target processor options for Intel CPUs

2013-09-13 Thread Juha Manninen
On Fri, Sep 13, 2013 at 12:50 PM, Juha Manninen
juha.mannine...@gmail.com wrote:
 2. This development is parallel to the All Options parser and GUI
 that I made earlier.
 It reads options directly from FPC, but only for the current platform / CPU.

Correction: actually the options are read with user defined TargetOS
and TargetCPU as parameters for FPC, like :
  ParsedTarget := '-T$(TargetOS) -P$(TargetCPU)';
  GlobalMacroList.SubstituteStr(ParsedTarget);
  Lines:=RunTool(fCompilerExecutable, ParsedTarget + ' -i');

But it works only if the compiler supports them.

Regards,
Juha

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


[Lazarus] Project Group support in the IDE

2013-09-13 Thread Graeme Geldenhuys
Hi,

This is probably the single biggest lacking feature of the Lazarus IDE.
Is anybody working on implementing Project Groups (like Delphi has had a
lifetime ago)?

ps #1:
If this is already in Trunk, then sorry for the noise. My Lazarus is a
Trunk checkout from about 2-3 months ago, and it doesn't contain Project
Groups support.

ps #2:
I haven't looked at the IDE source recently... If Project Groups are not
implement yet, does anybody with the IDE know-how venture to guess how a
large or complex task this would be? Off the bat I can't think it is a
huge task, so I might try and implement it myself - unless I am missing
some non-obvious stumbling block - and hence the reason it has not been
implemented to date.


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] Project Group support in the IDE

2013-09-13 Thread Mattias Gaertner

 Graeme Geldenhuys gra...@geldenhuys.co.uk hat am 13. September 2013 um 
12:33 geschrieben:
 
 
 Hi,
 
 This is probably the single biggest lacking feature of the Lazarus IDE.
 Is anybody working on implementing Project Groups (like Delphi has had a
 lifetime ago)?

Other single biggest lacking features are: docking, android, dyn packages, pkg
repository, installer, offline help, ...

 
 ps #1:
 If this is already in Trunk, then sorry for the noise. My Lazarus is a
 Trunk checkout from about 2-3 months ago, and it doesn't contain Project
 Groups support.

No, it is not implemented yet.

 
 ps #2:
 I haven't looked at the IDE source recently... If Project Groups are not
 implement yet, does anybody with the IDE know-how venture to guess how a
 large or complex task this would be? Off the bat I can't think it is a
 huge task, so I might try and implement it myself - unless I am missing
 some non-obvious stumbling block - and hence the reason it has not been
 implemented to date.

If you only want one window to easily switch the active project and using that
to compile a bunch of projects, then yes, it is easy.
If you want to have several projects open at the same time (e.g. for debugging),
then it will be a big task.


Mattias

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


Re: [Lazarus] Project Group support in the IDE

2013-09-13 Thread Juha Manninen
On Fri, Sep 13, 2013 at 1:33 PM, Graeme Geldenhuys
gra...@geldenhuys.co.uk wrote:
 This is probably the single biggest lacking feature of the Lazarus IDE.
 Is anybody working on implementing Project Groups (like Delphi has had a
 lifetime ago)?

Not actively. Mattias has added references to current project to some
places so the code can use them instead of Project1 directly.
This is very preliminary though.
Soon a branch for Lazarus 1.2 will be forked. After that trunk would
be open for such new big feature.


 does anybody with the IDE know-how venture to guess how a
 large or complex task this would be? Off the bat I can't think it is a
 huge task, so I might try and implement it myself - unless I am missing
 some non-obvious stumbling block - and hence the reason it has not been
 implemented to date.

Unfortunately it is quite a complex task. The biggest challenge is to
refactor the code so that Project1 is not referred to directly.
A project holds lots of data including session info.
A quick search for Project1 in Lazarus sources gives 846 matches.

Juha

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


Re: [Lazarus] Project Group support in the IDE

2013-09-13 Thread Reinier Olislagers
On 13/09/2013 12:56, Mattias Gaertner wrote:
  Graeme Geldenhuys gra...@geldenhuys.co.uk hat am 13. September 2013 um 
 12:33 geschrieben:
  This is probably the single biggest lacking feature of the Lazarus IDE.
  Is anybody working on implementing Project Groups (like Delphi has had a
  lifetime ago)?
 
 Other single biggest lacking features are: 
;)

 offline help, ...
??? Offline help is available+enabled in trunk; chm help is installed by
the installer.
See e.g. menu about/help

Different story if you mean other issues such as:
1. the contents themselves which are far from complete
2. some issues such as
2.1 lack of context-sensitive help
2.2 help/about not showing the help files (a patch of mine in bug 24743
that implements part of that was implemented but more is needed)
2.3 no context-sensitive help for controls on forms in the designer

Hint: I could still use help with bug 24743.


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


Re: [Lazarus] Project Group support in the IDE

2013-09-13 Thread Graeme Geldenhuys
On 2013-09-13 11:56, Mattias Gaertner wrote:
 
 Other single biggest lacking features are: docking, android, dyn packages, 
 pkg
 repository, installer, offline help, ...


:) the every growing to-do list.   Sometimes one has to ask why we
decided to become programmers. :)


 No, it is not implemented yet.

Thanks for the info.


 If you only want one window to easily switch the active project and using that
 to compile a bunch of projects, then yes, it is easy.

Yup, that's all I want for Project Groups. Being able to quickly switch
between related projects, do a build all projects in group [great for
release day], re-order projects in the group, and do a build projects
from here.

All my projects tend to consist of 4+ executables, and the project I
work the most on consists of 10+ executables. Doing manual building of
projects one-by-one is so labour intensive - hence I have many build
scripts. Maintaining those build scripts is a pain too.


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] Project Group support in the IDE

2013-09-13 Thread Graeme Geldenhuys
On 2013-09-13 12:03, Juha Manninen wrote:
 A quick search for Project1 in Lazarus sources gives 846 matches.


Ouch!



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] Project Group support in the IDE

2013-09-13 Thread Sven Barth

Am 13.09.2013 12:56, schrieb Mattias Gaertner:

  Graeme Geldenhuys gra...@geldenhuys.co.uk hat am 13. September 2013 um 
12:33 geschrieben:
  
  
  Hi,
  
  This is probably the single biggest lacking feature of the Lazarus IDE.

  Is anybody working on implementing Project Groups (like Delphi has had a
  lifetime ago)?

Other single biggest lacking features are: (...) dyn packages, (...)


Which requires compiler support first. :)

Regards,
Sven

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


Re: [Lazarus] Help needed for issue #20311: IDE always tailors Target processor options for Intel CPUs

2013-09-13 Thread Sven Barth

Am 13.09.2013 12:16, schrieb Juha Manninen:

On Fri, Sep 13, 2013 at 1:03 PM, Sven Barth pascaldra...@googlemail.com wrote:

Yes, some have only one assembler reader. On i386 and AFAIK x86_64 there are
different styles possible. Don't know on other CPUs.

This is x86_64. Apparently it only has one reader.

It seems that the help output is not up to date there...

Here is the list of supported assembler readers (all also support 
standard or default which I'll mark with a *):


- i386
att (*), gas (alias for att), intel
- x86_64
att (*), gas (alias for att), intel
- sparc
att(*)
- ppc
att(*)
- mips
att (standard/default seems to be missing here...)
- m68k
mot(*)
- i8086
att (*), gas (alias for att), intel
- avr
att (*)
- arm
att (*)
- jvm
None!

Regards,
Sven

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


Re: [Lazarus] Project Group support in the IDE

2013-09-13 Thread Sven Barth

Am 13.09.2013 12:33, schrieb Graeme Geldenhuys:

This is probably the single biggest lacking feature of the Lazarus IDE.
Is anybody working on implementing Project Groups (like Delphi has had a
lifetime ago)?
Just in case: I reported this already some time ago: 
http://bugs.freepascal.org/view.php?id=18518


Regards,
Sven

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


Re: [Lazarus] Project Group support in the IDE

2013-09-13 Thread Marco van de Voort
On Fri, Sep 13, 2013 at 01:05:05PM +0200, Reinier Olislagers wrote:
  offline help, ...
 ??? Offline help is available+enabled in trunk; chm help is installed by
 the installer.
 See e.g. menu about/help

I think Mattias meant IDE help, not library help.
 

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


Re: [Lazarus] Project Group support in the IDE

2013-09-13 Thread Michael Van Canneyt



On Fri, 13 Sep 2013, Graeme Geldenhuys wrote:


On 2013-09-13 11:56, Mattias Gaertner wrote:


Other single biggest lacking features are: docking, android, dyn packages, pkg
repository, installer, offline help, ...



:) the every growing to-do list.   Sometimes one has to ask why we
decided to become programmers. :)



No, it is not implemented yet.


Thanks for the info.



If you only want one window to easily switch the active project and using that
to compile a bunch of projects, then yes, it is easy.


Yup, that's all I want for Project Groups. Being able to quickly switch
between related projects, do a build all projects in group [great for
release day], re-order projects in the group, and do a build projects
from here.

All my projects tend to consist of 4+ executables, and the project I
work the most on consists of 10+ executables. Doing manual building of
projects one-by-one is so labour intensive - hence I have many build
scripts. Maintaining those build scripts is a pain too.


Same here.

At least, having this window would be a very good start. 
The advanced features could follow later.


But then, Mattias knows this already. I bugged him enough about it :(

Michael.

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


Re: [Lazarus] Project Group support in the IDE

2013-09-13 Thread Graeme Geldenhuys
On 2013-09-13 12:03, Juha Manninen wrote:
 Unfortunately it is quite a complex task. The biggest challenge is to
 refactor the code so that Project1 is not referred to directly.
 A project holds lots of data including session info.


Thinking about it a bit more... It might not be as complex - if you only
want to be able to switch between grouped projects (exclude Mattias's
debugging requirement for now).

For example... Currently only one active project is allowed [the
reference to Project1]. Well, with grouped projects that would still be
true. The Project Group window will simply allow you to switch the
active project much easier - a simple double-click.

The other Project Group functionality like compiling all grouped
projects would simply mean that the IDE switches the active project by
iterating the group list, and then at the end set the active project
back to what it was before the compile all projects task was run.
Loading of each project would do exactly what Project - Open
Project.. does now.

With this in mind, Project Group functionality could probably be
implemented as a Lazarus Add-on - without affecting the lazarus project
release cycle.

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] Project Group support in the IDE

2013-09-13 Thread Mattias Gaertner

 Michael Van Canneyt mich...@freepascal.org hat am 13. September 2013 um 
14:11 geschrieben:
[...]
  If you only want one window to easily switch the active project and using 
that
  to compile a bunch of projects, then yes, it is easy.

Create a new designtime package.
Invent some GUI to load/save/edit groups.

Use LazarusIDE.DoOpenProjectFile to switch project.
Use LazarusIDE.DoBuildProject to compile project.

If you need some hooks just ask.

Mattias

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


Re: [Lazarus] Project Group support in the IDE

2013-09-13 Thread Graeme Geldenhuys
On 2013-09-13 13:11, Michael Van Canneyt wrote:
 
 At least, having this window would be a very good start. 
 The advanced features could follow later.

Exactly. If my theory is correct [see my last post] then it really
shouldn't be hard. I'll try and create a Project Groups add-on over the
weekend.


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] Project Group support in the IDE

2013-09-13 Thread Graeme Geldenhuys
On 2013-09-13 13:33, Mattias Gaertner wrote:
 
 If you need some hooks just ask.


You read my mind, I was just about to post about available IDE interface
methods. Thanks for posting that info. I'll take a stab at it over the
weekend.


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] Project Group support in the IDE

2013-09-13 Thread Sven Barth

Am 13.09.2013 14:23, schrieb Graeme Geldenhuys:

On 2013-09-13 12:03, Juha Manninen wrote:

Unfortunately it is quite a complex task. The biggest challenge is to
refactor the code so that Project1 is not referred to directly.
A project holds lots of data including session info.


Thinking about it a bit more... It might not be as complex - if you only
want to be able to switch between grouped projects (exclude Mattias's
debugging requirement for now).

For example... Currently only one active project is allowed [the
reference to Project1]. Well, with grouped projects that would still be
true. The Project Group window will simply allow you to switch the
active project much easier - a simple double-click.

The other Project Group functionality like compiling all grouped
projects would simply mean that the IDE switches the active project by
iterating the group list, and then at the end set the active project
back to what it was before the compile all projects task was run.
Loading of each project would do exactly what Project - Open
Project.. does now.

With this in mind, Project Group functionality could probably be
implemented as a Lazarus Add-on - without affecting the lazarus project
release cycle.
Each project has its own session information = the source editor tabs 
would switch each time the project switches during a group compilation.


In that case group project needs to be a project as well (with session 
information which overrides the single project's session information) 
and during group compilation the changing of source editor tabs needs to 
be blocked (don't know whether that is currently possible).


Regards,
Sven

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


Re: [Lazarus] Project Group support in the IDE

2013-09-13 Thread Mattias Gaertner

 Sven Barth pascaldra...@googlemail.com hat am 13. September 2013 um 14:43 
geschrieben:
[...]
 Each project has its own session information = the source editor tabs 
 would switch each time the project switches during a group compilation.
 
 In that case group project needs to be a project as well (with session 
 information which overrides the single project's session information) 
 and during group compilation the changing of source editor tabs needs to 
 be blocked (don't know whether that is currently possible).

Yes, the I in IDE is the big task.

Mattias

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


Re: [Lazarus] Project Group support in the IDE

2013-09-13 Thread Hans-Peter Diettrich

Graeme Geldenhuys schrieb:


All my projects tend to consist of 4+ executables, and the project I
work the most on consists of 10+ executables. Doing manual building of
projects one-by-one is so labour intensive - hence I have many build
scripts. Maintaining those build scripts is a pain too.


What improvement of that situation do you expect, when the IDE manages 
the build scripts/projects for you? The IDE has no idea of your 
problems, causing your intensive labour.


As I see it, it won't be much work to add a project group pane/form to 
the IDE, and to invoke the build process for all projects listed there. 
The builds are done by external tools (FPC...) anyway. The really tricky 
part IMO would be the handling of the messages, returned from the 
various build processes.


In the simplest case a click on such a message then should make the IDE 
load the related project, before proceeding with the usual handling of 
such an click. The same handling already were required when a different 
project is selected from a project group (treeview...).


So IMO all this boils down to a *persistent* list of projects and 
related messages, that has to be added to the IDE. Where persistent 
means that this list is not affected by loading projects, in detail the 
project build messages should survive. Eventually the messages display 
has to be updated (splitted?) into multiple sections, each related to 
one project in the build group, and updated individually on a 
compile/build of that related project.


DoDi


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


Re: [Lazarus] Project Group support in the IDE

2013-09-13 Thread Marcos Douglas
On Fri, Sep 13, 2013 at 9:43 AM, Graeme Geldenhuys
gra...@geldenhuys.co.uk wrote:
 On 2013-09-13 13:33, Mattias Gaertner wrote:

 If you need some hooks just ask.


 You read my mind, I was just about to post about available IDE interface
 methods. Thanks for posting that info. I'll take a stab at it over the
 weekend.

Great. Thanks for your time.

Marcos Douglas

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


[Lazarus] Packages

2013-09-13 Thread Junior

http://bugs.freepascal.org/view.php?id=25013

New Linux, New Lazarus, having to reinstall the packages with this bug 
is a troubling case.



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


Re: [Lazarus] Project Group support in the IDE

2013-09-13 Thread silvioprog
http://free-pascal-lazarus.989080.n3.nabble.com/Lazarus-Lazarus-Project-Group-td2393597.html

:)

-- 
Silvio Clécio
My public projects - github.com/silvioprog
--
___
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] Help needed for issue #20311: IDE always tailors Target processor options for Intel CPUs

2013-09-13 Thread Florian Klämpfl
Am 13.09.2013 10:48, schrieb Sven Barth:

 Is there anything else that I could usefully grab at the same time,
 e.g. ABI types? In particular, noting that you've fixed
 http://bugs.freepascal.org/view.php?id=20310 but is there some variant
 of  fpc -i  etc. that lists applicable assembler styles?

 The assembler styles are reported in the -h output at -R.

fpc -i now shows also the assembler reader modes using the data from the
compiler.


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


Re: [Lazarus] Help needed for issue #20311: IDE always tailors Target processor options for Intel CPUs

2013-09-13 Thread Mark Morgan Lloyd

Sven Barth wrote:

Is there anything else that I could usefully grab at the same time, 
e.g. ABI types? In particular, noting that you've fixed 
http://bugs.freepascal.org/view.php?id=20310 but is there some variant 
of  fpc -i  etc. that lists applicable assembler styles?


The assembler styles are reported in the -h output at -R. They are 
adjusted for each target. The FPU type for -Cf might also be interesting 
(especially for ARM). The output is available in fpc -i as well.


At least with the versions I've currently got available it looks as 
though -R and -Cf defer to -i. Specifically, I see something like this 
in all cases except x86:


  -Ax  Output format:
  -Adefault  Use default assembler
  -Aas   Assemble using GNU AS

  -Cfx Select fpu instruction set to use, see fpc -i for
possible values

  -Rx  Assembler reading style:
  -Rdefault  Use default assembler for target

I think the -A output for SPARC Solaris might be different, but I can't 
easily test right now.


Output for -i from native 2.6.0 or 2.6.2, unless noted. Apologies if 
this is excessively noisy.


SPARC, Linux:
-
Compiler CPU Target: sparc

Supported targets:
  Solaris for SPARC (under development)
  Linux for SPARC

Supported CPU instruction sets:
  SPARC V7
  SPARC V8
  SPARC V9

Supported FPU instruction sets:
  SOFT
  HARD

Supported ABI targets:
  DEFAULT
  SYSV
  AIX
  EABI
  ARMEB

Supported Optimizations:
  REGVAR
  LOOPUNROLL
  TAILREC
  CSE

Supported Whole Program Optimizations:
  All
  DEVIRTCALLS
  OPTVMTS
  SYMBOLLIVENESS

Supported Microcontroller types:


ARMEL, Linux on Qemu:
-
Compiler CPU Target: arm

Supported targets:
  Linux for ARMEL
  WinCE for ARM
  GameBoy Advance
  PalmOS
  Nintendo DS
  Embedded
  Symbian OS for ARM
  Darwin for ARM

Supported CPU instruction sets:
  ARMV3
  ARMV4
  ARMV5
  ARMV6
  ARMV7
  ARMV7M
  CORTEXM3

Supported FPU instruction sets:
  SOFT
  LIBGCC
  FPA
  FPA10
  FPA11
  VFPV2
  VFPV3

Supported ABI targets:
  DEFAULT
  SYSV
  AIX
  EABI
  ARMEB

Supported Optimizations:
  REGVAR
  STACKFRAME
  LOOPUNROLL
  TAILREC
  CSE

Supported Whole Program Optimizations:
  All
  DEVIRTCALLS
  OPTVMTS
  SYMBOLLIVENESS

Supported Microcontroller types:
  LPC2114
  LPC2124
  LPC2194
  AT91SAM7S256
  AT91SAM7SE256
  AT91SAM7X256
  AT91SAM7XC256
  STM32F103RE
  STELLARIS


MIPS, Linux on Qemu (2.7.1, r22655):

Compiler CPU Target: mipseb

Supported targets:
  Linux for MIPSEB

Supported CPU instruction sets:
  mips2
  mips1
  mips2
  mips3
  mips4
  mips5
  mips32
  mips32r2

Supported FPU instruction sets:
  SOFT
  FPU_MIPS2
  FPU_MIPS3

Supported ABI targets:
  DEFAULT
  SYSV
  AIX
  EABI
  ARMEB
  EABIHF

Supported Optimizations:
  REGVAR
  LOOPUNROLL
  CSE
  ORDERFIELDS
  FASTMATH

Supported Whole Program Optimizations:
  All
  DEVIRTCALLS
  OPTVMTS
  SYMBOLLIVENESS

Supported Microcontroller types:


MIPSEL, Linux on Qemu (2.7.1, r22655):
--
Compiler CPU Target: mipsel

Supported targets:
  Linux for MIPSEL

Supported CPU instruction sets:
  mips2
  mips1
  mips2
  mips3
  mips4
  mips5
  mips32
  mips32r2

Supported FPU instruction sets:
  SOFT
  FPU_MIPS2
  FPU_MIPS3

Supported ABI targets:
  DEFAULT
  SYSV
  AIX
  EABI
  ARMEB
  EABIHF

Supported Optimizations:
  REGVAR
  LOOPUNROLL
  CSE
  ORDERFIELDS
  FASTMATH

Supported Whole Program Optimizations:
  All
  DEVIRTCALLS
  OPTVMTS
  SYMBOLLIVENESS

Supported Microcontroller types:


I've not been tracking ARM or MIPS(EL) on Linux closely over the last 
few months, and have never looked at them on e.g. Android.


I don't have a known-working x86-64 and am assuming that somebody 
(anybody!) else is better placed to check x86 on e.g. Windows. I can 
manage Linux and probably NT if necessary.


I can't conveniently test either SPARC or x86-64 Solaris at the moment. 
I can probably manage SPARC if necessary.


I can't test PPC on Linux at the moment due to hardware failure. Last 
time I investigated FPC didn't run on PPC Mac classic OS. I might be 
able to fix Linux.


--
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


[Lazarus] Scrollbars in SynEdit

2013-09-13 Thread Mark Morgan Lloyd
Using Lazarus 1.0, I notice that if a SynEdit has ssAutoBoth set it 
appears to have a permanent horizontal scrollbar as though the width is 
set to around 256 characters. Is this a bug, or a feature that I can 
disable?


--
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] Scrollbars in SynEdit

2013-09-13 Thread Martin

On 13/09/2013 20:44, Mark Morgan Lloyd wrote:
Using Lazarus 1.0, I notice that if a SynEdit has ssAutoBoth set it 
appears to have a permanent horizontal scrollbar as though the width 
is set to around 256 characters. Is this a bug, or a feature that I 
can disable?





its config

disable:
Options [eoScrollPastEOL]
or set
MaxLeftChar

So you need to trigger an update (change size, or change scrollbar 
setting, as changing the above does not update the visibility of the 
scrollbar immediately (that is a bug)



with eoScrollPastEOL, the editor assumes a minimom of MaxLeftChar to be 
scrollable. If there is a longer line, then the longer line will take over.


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


Re: [Lazarus] Install/Uninstall package form: Do not install more

2013-09-13 Thread Maxim Ganetsky

13.09.2013 11:31, Reinier Olislagers пишет:

The Install/Uninstall package form has two lists:
a) installed packages (or those marked for installation. Caption above:
Install
b) available but not installed packages. Caption: Do not install

WHen I started using Lazarus, the Do not install caption made it
unclear that this is actually the list of available packages, and
Lazarus will not actually e.g. uninstall anything that is in that list
when you click Saven and rebuild IDE. (I know, I might be easily
confused, not RTFM etc).

1. Would it be a good idea to rename the caption to Available?


I improved captions in r42784. Please test.


Some additional remarks/requests:
2. In additition to the red overlay for packages marked for
uninstalleation, and the green one for packages marked for installation,
perhaps a hint/tooltip could appear mentioned Marked for
installation/Marked for removal so people who don't know what those
icons mean are told? Alternatively I suppose mentioning this in Package
info in current state may also be considered.


These descriptions are present in 'Package Info' memo, as far as I can see.


3. Perhaps it's a good idea to have a search box for the left list
(installed packages) as well... depends on the amount of stuff you have
installed but it can be useful.


Please create a feature request for this.


4. A long time ago I sent a reminder to package maintainers that it
would be a good idea to fill out the Description field of the package...
There's still quite some packages that have no info (aarrebase,
cocoa_pkg, customdrawn, demoidehelp,  etc.)

Thanks,
Reinier


--
Best regards,
 Maxim Ganetsky  mailto:gan...@narod.ru

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


[Lazarus] Multiple copies of same form

2013-09-13 Thread Timothy Groves

I would like to write an app that has the following properties:

1)  A main form exists, one of which is spawned at program start;
2)  Additional copies of the main form may be spawned;
3)  The program exits only when no copies of the main form are in existence.

I've tried a few things when spawning additional forms, such as 
form.Create, but when I close the *first* form spawned, *all* such forms 
are destroyed.  I also tried Application.CreateForm, but that doesn't 
seem to do anything.  Google has failed me, as well.


What's my best option for this?

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


Re: [Lazarus] Multiple copies of same form

2013-09-13 Thread Hans-Peter Diettrich

Timothy Groves schrieb:

I would like to write an app that has the following properties:

1)  A main form exists, one of which is spawned at program start;
2)  Additional copies of the main form may be spawned;
3)  The program exits only when no copies of the main form are in 
existence.


I've tried a few things when spawning additional forms, such as 
form.Create, but when I close the *first* form spawned, *all* such forms 
are destroyed.


That's the specified behaviour: the first created form becomes 
Application.MainForm, and the program terminates when exactly that form 
is closed.


 I also tried Application.CreateForm, but that doesn't 
seem to do anything.  Google has failed me, as well.


What's my best option for this?


I'd keep a dummy MainForm hidden, and count the instances of the other 
forms.


DoDi


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


Re: [Lazarus] Multiple copies of same form

2013-09-13 Thread Mattias Gaertner
On Sat, 14 Sep 2013 03:08:46 +0200
Hans-Peter Diettrich drdiettri...@aol.com wrote:

 Timothy Groves schrieb:
  I would like to write an app that has the following properties:
  
  1)  A main form exists, one of which is spawned at program start;
  2)  Additional copies of the main form may be spawned;
  3)  The program exits only when no copies of the main form are in 
  existence.
  
  I've tried a few things when spawning additional forms, such as 
  form.Create, but when I close the *first* form spawned, *all* such forms 
  are destroyed.
 
 That's the specified behaviour: the first created form becomes 
 Application.MainForm, and the program terminates when exactly that form 
 is closed.

No. The first form created by Application.CreateForm becomes the
MainForm. Except for splash and mdi forms.

 
   I also tried Application.CreateForm, but that doesn't 
  seem to do anything.  Google has failed me, as well.
  
  What's my best option for this?

Create forms with
Form1:=TForm1.Create(Application);

or:
 
 I'd keep a dummy MainForm hidden, and count the instances of the other 
 forms.

Mattias

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


Re: [Lazarus] Project Group support in the IDE

2013-09-13 Thread Marc Santhoff
On Fr, 2013-09-13 at 14:11 +0200, Michael Van Canneyt wrote:
 
 On Fri, 13 Sep 2013, Graeme Geldenhuys wrote:
 
  On 2013-09-13 11:56, Mattias Gaertner wrote:

  No, it is not implemented yet.
 
  Thanks for the info.
 
 
  If you only want one window to easily switch the active project and using 
  that
  to compile a bunch of projects, then yes, it is easy.
 
  Yup, that's all I want for Project Groups. Being able to quickly switch
  between related projects, do a build all projects in group [great for
  release day], re-order projects in the group, and do a build projects
  from here.
 
  All my projects tend to consist of 4+ executables, and the project I
  work the most on consists of 10+ executables. Doing manual building of
  projects one-by-one is so labour intensive - hence I have many build
  scripts. Maintaining those build scripts is a pain too.
 
 Same here.
 
 At least, having this window would be a very good start. 
 The advanced features could follow later.

Curiously asked: could a package and lazbuild be used for this task?

I don't know if packages can handle bulding executables. Maybe it would
be easy to extend it doing a lot less work than having to write a GUI
and lazarus extension for it.

If I'm doing releases having to start lazarus, finding and opening the
project, setting some config values, would all be far to many actions. I
really prefer using makefiles or something similar. Using lazbuild would
have the advnatage of being able to have the makefiles holding anything
needed (compiler switches, etc.) generated.


Marc

-- 
Marc Santhoff m.santh...@web.de


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