Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2002-08

Updates

19 messages · 5 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Mattias Gaertner

Hi all,

Some updates:

- fixed TBitmap/TPixmap.LoadFromXPMFile
- implemented TMenuItem.Checked, TMenuItem.Graphic, TMenuItem.AutoCheck, TMenuItem.RightJustify, TMenuItem.ShowAlwaysCheckable. They can be changed at any time, and in any combination.
- Added IDE functions: 'Comment selection' and 'Uncomment selection'
- Implemented TPopupMenu.OnPopup event
- fixed key translation of grabbing keys in IDE
- added some icons to the IDE menu
- configure build lazarus is now available via shortcut
- Read Only and Show Line Numbers in popupmenu of sourceeditor has now check signs
- Tools menu now contains the user defined tools.

Mattias

Reply by email

Andrew Johnson
Clicked back on the form on a different component and selection is locked on the last selected component. Couldn't close down Lazarus either, needed to ctrl C from calling terminal.

Mattias seems to have this worked out already in CVS as of this morning, so if you want to update your version this problem should go away. It apears that it was a double click issue, where when you double clicked a component it grabbed focus and didn't let go. While there may be more issues, right now the Form Editor itself apears to be working properly, and pretty stable as well. Woohoo!

Andrew

_________________________________________________________________ Join the world�s largest e-mail service with MSN Hotmail. http://www.hotmail.com

Reply by email

Mattias Gaertner

Hi all,

Updates from Andrew:

- Clipping Improvements/Fixes under GTK

- GetTextExtents under GTK acts more like Win32 API - this is not a fix, just a better hack ;-)

- ExtTextOut under GTK can now Clip to Rectangle

- GetTextColor now available under both Win32 and GTK

- StretchBlt under GTK now ignore's clipping region, like Win32

- Fixed Polygon Winding bug under Win32
- Fixed Polygon Winding under GTK for if Clipping is set

- Added CriticalSection support to Win32 and GTK(in GTK is disabled by default)

- Added TextStyle Property to TCanvas

- Added Lock/Unlock/Lockcount to TCanvas

- TCanvas.TextOut will now draw Opaque, if set in TextStyle

- TCanvas.TextRect acts a lot more like Delphi, by using DrawText

- TSpeedButton & TStatusBar now use TextRect for better accuracy

- DrawText has been added and supports the following flags : DT_TOP
DT_LEFT
DT_CENTER
DT_RIGHT
DT_VCENTER
DT_BOTTOM
DT_WORDBREAK
DT_SINGLELINE
DT_NOCLIP
DT_CALCRECT
DT_NOPREFIX

Other updates:

- parser enhanced for Delphi 6 enum constants and empty parameter lists

- form editing: mouse events on internal gtk widgets (e.g. scrollbars)

- form editing: fixed mouse coords while component moving

Mattias

Reply by email

David Creelman
to Andrew Johnson: On 25 Aug 2002 22:32:49 +1000 I just checked this out, and you should never have to kill…

Okay, thanks for that.

Cheers
DC

Andrew Johnson wrote 29 lines
On 25 Aug 2002 22:32:49 +1000 David Creelman wrote: >Clicked back on the form on a different component and selection >is locked on the last selected component. Couldn't close down Lazarus >either, needed to ctrl C from calling terminal. I just checked this out, and you should never have to kill the program, as menu shortcuts will still work, even when the mouse is captured by a component as you describe. When this happened to me, I just did a Alt F to get to the file menu and scrolled down to quit, I got a prompt to save, and the mouse then worked to click the Yes button, and Lazarus closed cleanly. I did a further test, and found that if you open a popup form, then the control in question loses the mouse. So for instance I had the mouse locked on a button, so did a Ctrl F, to open the find dialog, clicked the Close button, and the mouse was no longer caught on the button. Kind of clumsy, but until Matthias, or someone else can figure out what's going on here, it seems to work. Andrew _________________________________________________________________ Join the world�s largest e-mail service with MSN Hotmail. http://www.hotmail.com _________________________________________________________________ To unsubscribe: mail with "unsubscribe" as the Subject archives at http://www.miraclec.com/list_archives/lazarus

Reply by email

David Creelman
to Mattias Gaertner: Updates: - source editor: ctrl+mouse now marks the word under the mouse as link pressing…

Hi Mattias,

cvs update;make clean all

single clicking on the calendar, some of the single clicks are still missed. Scrolling the year forward with quickly, about 1 in 4 are lost. Scrolling more slowly, about 1 in 8 are lost. Repeated this with toggle box too.

In the OI, clicked on the component popup and only got the current control (static text selected, there is a text, memo and listbox on the form). Clicked back on the form on a different component and selection is locked on the last selected component. Couldn't close down Lazarus either, needed to ctrl C from calling terminal.

Hope this helps a bit.

Cheers
DC

Mattias Gaertner wrote 25 lines
Hi, Updates: - source editor: ctrl+mouse now marks the word under the mouse as link pressing ctrl+left mouse button works as find declaration - fixed mouse double click recognition. This bug was the reason for some of the ignored single clicks - form editing: click on OI will now focus the edit control - fixed mouse capturing: (Designer Capturing Bug) - gtk-interface now sends mouse events directly to LCL - gtk-interface now updates the mouse capture handle on every mouse message - gtk-interface: GetCoreChild returns now NIL as default - fixed TSpeedButton.SetDown and Invalidate - form editing: loading forms now creates all TComponentInterfaces - form editing: fixed crash bug on deleting components - form editing: fixed moving child components Mattias _________________________________________________________________ To unsubscribe: mail with "unsubscribe" as the Subject archives at http://www.miraclec.com/list_archives/lazarus

Reply by email

Unknown author
to David Creelman

Hello,

I tried to compile lazarus; It fails, because you use expressions like

  I += 1;

Either adapt the makefiles so the -Sc option is passed, either don't use these C constructs.

After fixing that, everything went fine. Great job !

Michael.

Reply by email

Mattias Gaertner

Hi,

Updates:

- source editor: ctrl+mouse now marks the word under the mouse as link pressing ctrl+left mouse button works as find declaration
- fixed mouse double click recognition. This bug was the reason for some of the ignored single clicks
- form editing: click on OI will now focus the edit control
- fixed mouse capturing: (Designer Capturing Bug)
- gtk-interface now sends mouse events directly to LCL
- gtk-interface now updates the mouse capture handle on every mouse message
- gtk-interface: GetCoreChild returns now NIL as default
- fixed TSpeedButton.SetDown and Invalidate
- form editing: loading forms now creates all TComponentInterfaces
- form editing: fixed crash bug on deleting components
- form editing: fixed moving child components

Mattias

Reply by email

Mattias Gaertner
to Mattias Gaertner
single clicking on the calendar, some of the single clicks are still missed. Scrolling the year forward with quickly, about 1 in 4 are lost. Scrolling more slowly, about 1 in 8 are lost. Repeated this with toggle box too.

The gtk interface has mistaken your fast clicks as double clicks. I added another check: Only controls with csDoubleClick will now get double clicks. And Excluded csDoubleClicks from TCalendar.ControlStyle.

Show quoted text 7 lines
In the OI, clicked on the component popup and only got the current control (static text selected, there is a text, memo and listbox on the form). Clicked back on the form on a different component and selection is locked on the last selected component. Couldn't close down Lazarus either, needed to ctrl C from calling terminal.

There seems to be another designer capturing bug...

Mattias

Reply by email

Mattias Gaertner

Hi all,

Updates:
- added mem manager for gtk-interface GDIObjects and DeviceContexts
- fixed heaptrc mem leaks of IDE/LCL
- fixed gdk_gc leaks
- accelerated synedit painting
- popupmenu items for bookmarks in source editor are now checked
- better theme support from Andrew: styles for LCL custom widgets can now be copied from any gtk widget type. For example the TSpeedButton now uses the style of gtkbutton.
- form editing: renaming a form in the OI now renames the form and its class in the unit, changes the class name of the designed form and changes the CreateForm statement in the program source.
- minors: better bracket hilighting, fixed TMenuItem.AutoCheck, reduced freezing during compilation

Mattias

Reply by email

Andrew Johnson
Clicked back on the form on a different component and selection is locked on the last selected component. Couldn't close down Lazarus either, needed to ctrl C from calling terminal.

I just checked this out, and you should never have to kill the program, as menu shortcuts will still work, even when the mouse is captured by a component as you describe. When this happened to me, I just did a Alt F to get to the file menu and scrolled down to quit, I got a prompt to save, and the mouse then worked to click the Yes button, and Lazarus closed cleanly. I did a further test, and found that if you open a popup form, then the control in question loses the mouse. So for instance I had the mouse locked on a button, so did a Ctrl F, to open the find dialog, clicked the Close button, and the mouse was no longer caught on the button. Kind of clumsy, but until Matthias, or someone else can figure out what's going on here, it seems to work.

Andrew

_________________________________________________________________ Join the world�s largest e-mail service with MSN Hotmail. http://www.hotmail.com

Reply by email

David Creelman
to Mattias Gaertner: Updates: - fixed gtk warnings of TSpinEdit - codetools: fixed collection of procs (e.g.…

Hi Mattias,

Sorry about that one. I set the source directory in the files section of Environment -> General Options and the OnClick was created correctly.

Thanks for that advice from someone on that list whose original email I've lost.

Cheers
DC

Mattias Gaertner wrote 23 lines
On 29 Aug 2002 20:49:06 +1000 David Creelman wrote: > Just a quick question... I dropped a button on the form and then went to > the events tab of the OI and tried to make an event handler for the > OnClick and I got an orange line on the Interface Uses clause. However, > if I double click on MouseMove, I get a function created (and I made a > simple test handler and it worked like a charm !). Is there something > wrong with my config or are onclick handlers for buttons not done yet. TButton.OnClick is working. The test if a method is compatible is not yet complete, so the OI does not show the methods for OnMouseMove in the combobox. But this is another problem. Just creating a new form, adding a Button and create the event for OnClick works for me. Can you tell the exact steps to reproduce this error? Mattias _________________________________________________________________ To unsubscribe: mail with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives

Reply by email

Mattias Gaertner

Hi all,

I have changed some central parts of the LCL and GTK<->LCL paint system. I have disabled/removed some of the old workarounds and I hope that everything works well.

Updates:

- SetWindowOrgEx and MoveWindowOrgEx now sets the origin of a DeviceContext. All graphic functions were altered.
- The child controls of a TWinControl are now splitted into TControls and TWinControls as in the VCL.
- TControls (that are not TWinControls) are now painted with correct clipping and origin. That's why now for example TBevel works.
- GetWindowOrgEx now returns the origin of the Drawable and not of the owner Widget.
- Form editing: The designer now uses a faster devicecontext system, which reduces SaveDC/RestoreDC calls and provides a canvas.
- Form editing: all designer draw functions now paint to the correct position
- Form editing: all client areas now show a grid
- Fixed many controlstyles (e.g csOpaque was missing and there were too many csDoubleClicks/csTripleClicks).
- Added 'Use Display' to the 'Run Parameters' dialog

Mattias

Reply by email

Mattias Gaertner

Hi,

Updates:

- fixed gtk warnings of TSpinEdit
- codetools: fixed collection of procs (e.g. OI event combobox)
- form editing: fixed auto removing of child controls, fixed OI events combo, fixed cleaning up .lrs files, fixed creating new .lrs files, fixed removing non visual components, fixed selecting non visual components
- open recent file/project now removes items, if file not found
- improved uncapturing
- reduced paint messages and creating/freeing DCs
- implemented the environment options in the run parameter dialog

from Andrew:
- Support for Mnemonic (aka '&') Shortcut Keys to TButton/TBitBtn
- property editors: Prefix support to Values, so for instance SpeedButton Captions which Contain an '&' will display an underscore in the property editor the same way it will on the Button

Mattias

Reply by email

Andrew Johnson
OnClick and I got an orange line on the Interface Uses clause.

This sounds too me like your FPC source directory hasn't been set. For some reason trying to create an event handler for some things, like OnClick, raises an IDE 'SysUtils Not Found' or the like if your FPC Source Path haven't been set properly. Try making sure it's valid in your General Options. I think this is simply screwy behaviour in the IDE since it shouldn't need to have FCL/RTL Sources in the path to set an event handler, only to 'open file at cursor' etc.

Andrew

_________________________________________________________________ Send and receive Hotmail on your mobile device: http://mobile.msn.com

Reply by email

David Creelman
to Mattias Gaertner: Updates: - fixed gtk warnings of TSpinEdit - codetools: fixed collection of procs (e.g.…

Mattias, Jesus,

Thank you both. I get all of my mouse clicks on the calendar now. It almost feels as good as using Delphi in Win32 !

Just a quick question... I dropped a button on the form and then went to the events tab of the OI and tried to make an event handler for the OnClick and I got an orange line on the Interface Uses clause. However, if I double click on MouseMove, I get a function created (and I made a simple test handler and it worked like a charm !). Is there something wrong with my config or are onclick handlers for buttons not done yet.

The screen updates when moving controls around now has much more efficient redrawing, which makes it much better to use.

Again, thanks for the fantastic work.

Cheers
DC

Mattias Gaertner wrote 19 lines
On Wed, 28 Aug 2002 15:11:49 -0500 (CDT) Jesus Reyes wrote: > Hi, it seems like form editing is getting improved > every day, thanks. Here is a little change that i made > to MoveSelectionWithSnapping so the form is only > invalidated when it needs . Thx. Applied. Plz zip diffs before you attach them. Sending them as text can destroy the line breaks. Mattias _________________________________________________________________ To unsubscribe: mail with "unsubscribe" as the Subject archives at http://www.lazarus.freepascal.org/mailarchives

Reply by email

Mattias Gaertner
to Mattias Gaertner: Updates: - fixed gtk warnings of TSpinEdit - codetools: fixed collection of procs (e.g.…
Show quoted text 6 lines
Just a quick question... I dropped a button on the form and then went to the events tab of the OI and tried to make an event handler for the OnClick and I got an orange line on the Interface Uses clause. However, if I double click on MouseMove, I get a function created (and I made a simple test handler and it worked like a charm !). Is there something wrong with my config or are onclick handlers for buttons not done yet.

TButton.OnClick is working.
The test if a method is compatible is not yet complete, so the OI does not show the methods for OnMouseMove in the combobox. But this is another problem.

Just creating a new form, adding a Button and create the event for OnClick works for me. Can you tell the exact steps to reproduce this error?

Mattias

Reply by email

Jesus Reyes
to Mattias Gaertner: Updates: - fixed gtk warnings of TSpinEdit - codetools: fixed collection of procs (e.g.…

Hi, it seems like form editing is getting improved every day, thanks. Here is a little change that i made to MoveSelectionWithSnapping so the form is only
invalidated when it needs .

regards
Jes�s Reyes A.

Index: lazarus/designer/controlselection.pp
=================================================================== RCS file:
/FPC/CVS/projects/lazarus/designer/controlselection.pp,v retrieving revision 1.34
diff -r1.34 controlselection.pp
251c251
< procedure MoveSelectionWithSnapping(TotalDX, TotalDY: integer);
---

function MoveSelectionWithSnapping(TotalDX,

TotalDY: integer): Boolean;
1191,1192c1191,1194
< procedure
TControlSelection.MoveSelectionWithSnapping(TotalDX, TotalDY: integer
< );
---

Function

TControlSelection.MoveSelectionWithSnapping(TotalDX, TotalDY: integer

): Boolean; Var NewLeft,NewTop: Integer;

1193a1196

Result:=False;

1199,1206c1202,1214
< BeginResizing;
<
FLeft:=FindNearestSnapLeft(FOldLeft+TotalDX,FWidth); < FTop:=FindNearestSnapTop(FOldTop+TotalDY,FHeight); < {$IFDEF VerboseDesigner}
<
writeln('[TControlSelection.MoveSelectionWithSnapping] B ',
< FLeft,',',FTop,',',FWidth,',',FHeight);
< {$ENDIF}
< EndResizing(true);
---

NewLeft:=FindNearestSnapLeft(FOldLeft+TotalDX,FWidth);
NewTop:=FindNearestSnapTop(FOldTop+TotalDY,FHeight);
Show quoted text 6 lines
If (FLeftNewLeft)or(FTopNewTop) then begin BeginResizing; FLeft:=NewLeft; FTop:=NewTop; {$IFDEF VerboseDesigner}

writeln('[TControlSelection.MoveSelectionWithSnapping] B ',

Show quoted text 5 lines
FLeft,',',FTop,',',FWidth,',',FHeight); {$ENDIF} EndResizing(true); Result:=True; End;

Index: lazarus/designer/designer.pp
=================================================================== RCS file:
/FPC/CVS/projects/lazarus/designer/designer.pp,v
retrieving revision 1.81
diff -r1.81 designer.pp
691,694c691,695
< ControlSelection.MoveSelectionWithSnapping( <
LastMouseMovePos.X-MouseDownPos.X,LastMouseMovePos.Y-MouseDownPos.Y); < if Assigned(OnModified) then
OnModified(Self);
< FCustomForm.Invalidate;
---

If

ControlSelection.MoveSelectionWithSnapping(

LastMouseMovePos.X-MouseDownPos.X,LastMouseMovePos.Y-MouseDownPos.Y) Then begin

if Assigned(OnModified) then
OnModified(Self);
FCustomForm.Invalidate; End;

_________________________________________________________ Do You Yahoo!?
La emoci�n e intensidad del deporte en Yahoo! Deportes. http://deportes.yahoo.com.mx

Reply by email