summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgraemeg <graemeg@ae50a9b5-8222-0410-bf8d-8a13f76226bf>2007-06-05 11:46:44 +0000
committergraemeg <graemeg@ae50a9b5-8222-0410-bf8d-8a13f76226bf>2007-06-05 11:46:44 +0000
commit47340659a723589f6381cadbc95fd88298412269 (patch)
tree9d25251d07f37b3ec38c1932c484caa4e0b0380e
parent5c84b5c66c967254400370c991170a61533a8014 (diff)
downloadfpGUI-47340659a723589f6381cadbc95fd88298412269.tar.xz
* Finally fixed the menu dropdown issue where you had to click twice to get the menu to drow down.
-rw-r--r--AUTHORS.txt15
-rw-r--r--examples/gfx/helloworld/helloworld.lpi7
-rw-r--r--examples/gfx/imgtest/imgtest.lpi7
-rw-r--r--examples/img/masktest/masktest.lpi1
-rw-r--r--gui/fpgui.pas7
-rw-r--r--gui/fpguibin.inc2
-rw-r--r--gui/fpguibuttons.inc2
-rw-r--r--gui/fpguicheckbox.inc2
-rw-r--r--gui/fpguicombobox.inc2
-rw-r--r--gui/fpguicontainer.inc2
-rw-r--r--gui/fpguidialogs.inc2
-rw-r--r--gui/fpguiedit.inc2
-rw-r--r--gui/fpguiform.inc2
-rw-r--r--gui/fpguigrid.inc2
-rw-r--r--gui/fpguigroupbox.inc2
-rw-r--r--gui/fpguilabel.inc2
-rw-r--r--gui/fpguilayouts.inc2
-rw-r--r--gui/fpguilistbox.inc16
-rw-r--r--gui/fpguimemo.inc2
-rw-r--r--gui/fpguimenus.inc19
-rw-r--r--gui/fpguipanel.inc2
-rw-r--r--gui/fpguipopupwindow.inc2
-rw-r--r--gui/fpguiprogressbar.inc2
-rw-r--r--gui/fpguiradiobutton.inc2
-rw-r--r--gui/fpguiscrollbox.inc2
-rw-r--r--gui/fpguiseparator.inc2
-rw-r--r--gui/fpguiwidget.inc13
27 files changed, 76 insertions, 47 deletions
diff --git a/AUTHORS.txt b/AUTHORS.txt
index 9efac32c..e18c6002 100644
--- a/AUTHORS.txt
+++ b/AUTHORS.txt
@@ -1,11 +1,18 @@
-Original Author
--------- ------
+
+ Here is a list of people that have worked or are working on
+ the fpGUI project.
+
+
+Original Author (not active anymore)
+------------------------------------
Sebastian Guenther <sg@freepascal.org>
-Main Author
------------
+
+Current Author
+--------------
Graeme Geldenhuys <graemeg@gmail.com>
+
Contributors
------------
Felipe Monteiro de Carvalho <felipemonteiro.carvalho@gmail.com>
diff --git a/examples/gfx/helloworld/helloworld.lpi b/examples/gfx/helloworld/helloworld.lpi
index 6347b8e1..ecdd333f 100644
--- a/examples/gfx/helloworld/helloworld.lpi
+++ b/examples/gfx/helloworld/helloworld.lpi
@@ -28,12 +28,17 @@
<PackageName Value="fpgfxpackage"/>
</Item1>
</RequiredPackages>
- <Units Count="1">
+ <Units Count="2">
<Unit0>
<Filename Value="helloworld.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="HelloWorld"/>
</Unit0>
+ <Unit1>
+ <Filename Value="../subwindow/subwindow.pas"/>
+ <IsPartOfProject Value="True"/>
+ <UnitName Value="subwindow"/>
+ </Unit1>
</Units>
</ProjectOptions>
<CompilerOptions>
diff --git a/examples/gfx/imgtest/imgtest.lpi b/examples/gfx/imgtest/imgtest.lpi
index 57b067c6..c507609d 100644
--- a/examples/gfx/imgtest/imgtest.lpi
+++ b/examples/gfx/imgtest/imgtest.lpi
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
- <PathDelim Value="\"/>
+ <PathDelim Value="/"/>
<Version Value="5"/>
<General>
<Flags>
@@ -9,7 +9,7 @@
</Flags>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
- <IconPath Value=".\"/>
+ <IconPath Value="./"/>
<TargetFileExt Value=""/>
</General>
<PublishOptions>
@@ -20,7 +20,7 @@
<RunParams>
<local>
<FormatVersion Value="1"/>
- <LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
+ <LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
</RunParams>
<RequiredPackages Count="1">
@@ -39,7 +39,6 @@
</ProjectOptions>
<CompilerOptions>
<Version Value="5"/>
- <PathDelim Value="\"/>
<CodeGeneration>
<Generate Value="Faster"/>
</CodeGeneration>
diff --git a/examples/img/masktest/masktest.lpi b/examples/img/masktest/masktest.lpi
index dda2a998..e250102f 100644
--- a/examples/img/masktest/masktest.lpi
+++ b/examples/img/masktest/masktest.lpi
@@ -14,7 +14,6 @@
</VersionInfo>
<PublishOptions>
<Version Value="2"/>
- <IgnoreBinaries Value="False"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
</PublishOptions>
diff --git a/gui/fpgui.pas b/gui/fpgui.pas
index ca17a278..22fcfcc9 100644
--- a/gui/fpgui.pas
+++ b/gui/fpgui.pas
@@ -38,6 +38,7 @@ interface
uses
{$IFDEF mswindows}
+ // used for system theme color detection
Windows, GFX_GDI, // This must be removed!!!
{$ENDIF}
SysUtils
@@ -74,9 +75,9 @@ resourcestring
type
- TFWidget = class;
- TEventObj = class;
- TFCustomForm = class;
+ TFWidget = class;
+ TEventObj = class;
+ TFCustomForm = class;
TFWidgetState = set of (
diff --git a/gui/fpguibin.inc b/gui/fpguibin.inc
index 3915ae32..529b7534 100644
--- a/gui/fpguibin.inc
+++ b/gui/fpguibin.inc
@@ -3,7 +3,7 @@
Bin widget declarations
- Copyright (C) 2000 - 2006 See the file AUTHORS.txt, included in this
+ Copyright (C) 2006 - 2007 See the file AUTHORS.txt, included in this
distribution, for details of the copyright.
See the file COPYING.modifiedLGPL, included in this distribution,
diff --git a/gui/fpguibuttons.inc b/gui/fpguibuttons.inc
index 216f5044..f8281491 100644
--- a/gui/fpguibuttons.inc
+++ b/gui/fpguibuttons.inc
@@ -3,7 +3,7 @@
Button class declarations
- Copyright (C) 2000 - 2006 See the file AUTHORS.txt, included in this
+ Copyright (C) 2006 - 2007 See the file AUTHORS.txt, included in this
distribution, for details of the copyright.
See the file COPYING.modifiedLGPL, included in this distribution,
diff --git a/gui/fpguicheckbox.inc b/gui/fpguicheckbox.inc
index d2615a1c..7bfd40c9 100644
--- a/gui/fpguicheckbox.inc
+++ b/gui/fpguicheckbox.inc
@@ -3,7 +3,7 @@
Checkbox class declarations
- Copyright (C) 2000 - 2006 See the file AUTHORS.txt, included in this
+ Copyright (C) 2006 - 2007 See the file AUTHORS.txt, included in this
distribution, for details of the copyright.
See the file COPYING.modifiedLGPL, included in this distribution,
diff --git a/gui/fpguicombobox.inc b/gui/fpguicombobox.inc
index 5eef10d8..371113aa 100644
--- a/gui/fpguicombobox.inc
+++ b/gui/fpguicombobox.inc
@@ -3,7 +3,7 @@
ComboBox class declarations
- Copyright (C) 2000 - 2006 See the file AUTHORS.txt, included in this
+ Copyright (C) 2006 - 2007 See the file AUTHORS.txt, included in this
distribution, for details of the copyright.
See the file COPYING.modifiedLGPL, included in this distribution,
diff --git a/gui/fpguicontainer.inc b/gui/fpguicontainer.inc
index 6b9611c9..dbe87d25 100644
--- a/gui/fpguicontainer.inc
+++ b/gui/fpguicontainer.inc
@@ -3,7 +3,7 @@
Container class declarations
- Copyright (C) 2000 - 2006 See the file AUTHORS.txt, included in this
+ Copyright (C) 2006 - 2007 See the file AUTHORS.txt, included in this
distribution, for details of the copyright.
See the file COPYING.modifiedLGPL, included in this distribution,
diff --git a/gui/fpguidialogs.inc b/gui/fpguidialogs.inc
index 413b11c3..97932917 100644
--- a/gui/fpguidialogs.inc
+++ b/gui/fpguidialogs.inc
@@ -3,7 +3,7 @@
Dialogs class declarations
- Copyright (C) 2000 - 2007 See the file AUTHORS.txt, included in this
+ Copyright (C) 2006 - 2007 See the file AUTHORS.txt, included in this
distribution, for details of the copyright.
See the file COPYING.modifiedLGPL, included in this distribution,
diff --git a/gui/fpguiedit.inc b/gui/fpguiedit.inc
index 79bb2a70..34e822cc 100644
--- a/gui/fpguiedit.inc
+++ b/gui/fpguiedit.inc
@@ -3,7 +3,7 @@
Edit class declarations
- Copyright (C) 2000 - 2007 See the file AUTHORS.txt, included in this
+ Copyright (C) 2006 - 2007 See the file AUTHORS.txt, included in this
distribution, for details of the copyright.
See the file COPYING.modifiedLGPL, included in this distribution,
diff --git a/gui/fpguiform.inc b/gui/fpguiform.inc
index 2ff0ad37..b87e47fe 100644
--- a/gui/fpguiform.inc
+++ b/gui/fpguiform.inc
@@ -3,7 +3,7 @@
Form class declarations
- Copyright (C) 2000 - 2006 See the file AUTHORS.txt, included in this
+ Copyright (C) 2006 - 2007 See the file AUTHORS.txt, included in this
distribution, for details of the copyright.
See the file COPYING.modifiedLGPL, included in this distribution,
diff --git a/gui/fpguigrid.inc b/gui/fpguigrid.inc
index be11ae2e..b23a7fae 100644
--- a/gui/fpguigrid.inc
+++ b/gui/fpguigrid.inc
@@ -3,7 +3,7 @@
Grid class declarations
- Copyright (C) 2000 - 2006 See the file AUTHORS.txt, included in this
+ Copyright (C) 2006 - 2007 See the file AUTHORS.txt, included in this
distribution, for details of the copyright.
See the file COPYING.modifiedLGPL, included in this distribution,
diff --git a/gui/fpguigroupbox.inc b/gui/fpguigroupbox.inc
index cf51071b..25c4d70e 100644
--- a/gui/fpguigroupbox.inc
+++ b/gui/fpguigroupbox.inc
@@ -3,7 +3,7 @@
GroupBox class declarations
- Copyright (C) 2000 - 2006 See the file AUTHORS.txt, included in this
+ Copyright (C) 2006 - 2007 See the file AUTHORS.txt, included in this
distribution, for details of the copyright.
See the file COPYING.modifiedLGPL, included in this distribution,
diff --git a/gui/fpguilabel.inc b/gui/fpguilabel.inc
index 80ca2346..31f11aef 100644
--- a/gui/fpguilabel.inc
+++ b/gui/fpguilabel.inc
@@ -3,7 +3,7 @@
Label class declarations
- Copyright (C) 2000 - 2007 See the file AUTHORS.txt, included in this
+ Copyright (C) 2006 - 2007 See the file AUTHORS.txt, included in this
distribution, for details of the copyright.
See the file COPYING.modifiedLGPL, included in this distribution,
diff --git a/gui/fpguilayouts.inc b/gui/fpguilayouts.inc
index 2c45cf84..72f8ee92 100644
--- a/gui/fpguilayouts.inc
+++ b/gui/fpguilayouts.inc
@@ -3,7 +3,7 @@
Layout Managers class declarations
- Copyright (C) 2000 - 2006 See the file AUTHORS.txt, included in this
+ Copyright (C) 2006 - 2007 See the file AUTHORS.txt, included in this
distribution, for details of the copyright.
See the file COPYING.modifiedLGPL, included in this distribution,
diff --git a/gui/fpguilistbox.inc b/gui/fpguilistbox.inc
index 6858940a..cbba2067 100644
--- a/gui/fpguilistbox.inc
+++ b/gui/fpguilistbox.inc
@@ -1,3 +1,19 @@
+{
+ fpGUI - Free Pascal GUI Library
+
+ ListBox class declarations
+
+ Copyright (C) 2006 - 2007 See the file AUTHORS.txt, included in this
+ distribution, for details of the copyright.
+
+ See the file COPYING.modifiedLGPL, included in this distribution,
+ for details about redistributing fpGUI.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+}
+
{%mainunit fpgui.pas}
{ Listbox widget implementation }
diff --git a/gui/fpguimemo.inc b/gui/fpguimemo.inc
index c9682e2d..7fec6cad 100644
--- a/gui/fpguimemo.inc
+++ b/gui/fpguimemo.inc
@@ -3,7 +3,7 @@
Memo class declarations
- Copyright (C) 2000 - 2007 See the file AUTHORS.txt, included in this
+ Copyright (C) 2006 - 2007 See the file AUTHORS.txt, included in this
distribution, for details of the copyright.
See the file COPYING.modifiedLGPL, included in this distribution,
diff --git a/gui/fpguimenus.inc b/gui/fpguimenus.inc
index 94a61e03..8a2c121b 100644
--- a/gui/fpguimenus.inc
+++ b/gui/fpguimenus.inc
@@ -3,7 +3,7 @@
Menu class declarations
- Copyright (C) 2000 - 2006 See the file AUTHORS.txt, included in this
+ Copyright (C) 2006 - 2007 See the file AUTHORS.txt, included in this
distribution, for details of the copyright.
See the file COPYING.modifiedLGPL, included in this distribution,
@@ -16,12 +16,9 @@
{%mainunit fpgui.pas}
-{
- All menu and menu item implementations
-}
-
{$IFDEF read_interface}
+ // forward class declarations
TFPopupMenu = class;
TFMenuBar = class;
@@ -67,13 +64,10 @@
{ TFMenuBar }
TFMenuBar = class(TFCustomBoxLayout)
- private
- protected
public
constructor Create(AOwner: TComponent); override;
function AddMenu(const pTitle: string): TFMenuItem;
function AddMenu(const pTitle: string; const pHotKeyDef: string; pHandlerProc: TNotifyEvent): TFMenuItem;
- published
end;
{$ENDIF read_interface}
@@ -95,16 +89,20 @@ procedure TFMenuItem.InternalShowPopupMenu;
begin
if Assigned(FSubMenu) and FSubMenu.Visible then
begin
+// writeln('Closing submenu');
FSubMenu.Close;
Exit; //==>
end;
if not Assigned(FSubMenu) then
begin
+// writeln('Creating submenu');
FSubMenu := TFPopupMenu.Create(Self);
end;
+// writeln('set submenu position...');
FSubMenu.SetPosition(ClientToScreen(Point(0, Height)));
+// writeln('show submenu...');
FSubMenu.Show;
FSubMenu.Wnd.SetMinMaxClientSize(MaxSize, MaxSize);
end;
@@ -150,10 +148,14 @@ procedure TFMenuItem.Click;
begin
if (wsMouseInside in WidgetState) and Assigned(FSubMenu) then
begin
+// writeln('Passed');
InternalShowPopupMenu;
end
else
+ begin
+// writeln('Failed');
inherited Click;
+ end;
if FindForm is TFPopupMenu then
TFPopupMenu(FindForm).Close;
@@ -182,6 +184,7 @@ begin
BorderWidth := 1;
Color := clBlack;
Name := '_MenuPopup';
+ Visible := False;
FMenu := TFMenuBar.Create(self);
FMenu.Name := '_VBoxMenu';
diff --git a/gui/fpguipanel.inc b/gui/fpguipanel.inc
index 3d77e891..b0fbf655 100644
--- a/gui/fpguipanel.inc
+++ b/gui/fpguipanel.inc
@@ -3,7 +3,7 @@
Panel class declarations
- Copyright (C) 2000 - 2006 See the file AUTHORS.txt, included in this
+ Copyright (C) 2006 - 2007 See the file AUTHORS.txt, included in this
distribution, for details of the copyright.
See the file COPYING.modifiedLGPL, included in this distribution,
diff --git a/gui/fpguipopupwindow.inc b/gui/fpguipopupwindow.inc
index 9b735c2d..8a995e6b 100644
--- a/gui/fpguipopupwindow.inc
+++ b/gui/fpguipopupwindow.inc
@@ -3,7 +3,7 @@
PopupWindow class declarations
- Copyright (C) 2000 - 2006 See the file AUTHORS.txt, included in this
+ Copyright (C) 2006 - 2007 See the file AUTHORS.txt, included in this
distribution, for details of the copyright.
See the file COPYING.modifiedLGPL, included in this distribution,
diff --git a/gui/fpguiprogressbar.inc b/gui/fpguiprogressbar.inc
index 3bdc91f3..0f8f4dd0 100644
--- a/gui/fpguiprogressbar.inc
+++ b/gui/fpguiprogressbar.inc
@@ -3,7 +3,7 @@
Progress Bar class declarations
- Copyright (C) 2000 - 2006 See the file AUTHORS.txt, included in this
+ Copyright (C) 2006 - 2007 See the file AUTHORS.txt, included in this
distribution, for details of the copyright.
See the file COPYING.modifiedLGPL, included in this distribution,
diff --git a/gui/fpguiradiobutton.inc b/gui/fpguiradiobutton.inc
index d17360c7..58240ac6 100644
--- a/gui/fpguiradiobutton.inc
+++ b/gui/fpguiradiobutton.inc
@@ -3,7 +3,7 @@
RadioButton class declarations
- Copyright (C) 2000 - 2006 See the file AUTHORS.txt, included in this
+ Copyright (C) 2006 - 2007 See the file AUTHORS.txt, included in this
distribution, for details of the copyright.
See the file COPYING.modifiedLGPL, included in this distribution,
diff --git a/gui/fpguiscrollbox.inc b/gui/fpguiscrollbox.inc
index d6b22a24..9c66b987 100644
--- a/gui/fpguiscrollbox.inc
+++ b/gui/fpguiscrollbox.inc
@@ -3,7 +3,7 @@
ScrollBox class declarations
- Copyright (C) 2000 - 2006 See the file AUTHORS.txt, included in this
+ Copyright (C) 2006 - 2007 See the file AUTHORS.txt, included in this
distribution, for details of the copyright.
See the file COPYING.modifiedLGPL, included in this distribution,
diff --git a/gui/fpguiseparator.inc b/gui/fpguiseparator.inc
index d4566801..d415956d 100644
--- a/gui/fpguiseparator.inc
+++ b/gui/fpguiseparator.inc
@@ -3,7 +3,7 @@
Separator class declarations
- Copyright (C) 2000 - 2006 See the file AUTHORS.txt, included in this
+ Copyright (C) 2006 - 2007 See the file AUTHORS.txt, included in this
distribution, for details of the copyright.
See the file COPYING.modifiedLGPL, included in this distribution,
diff --git a/gui/fpguiwidget.inc b/gui/fpguiwidget.inc
index baf5e927..249c1ce2 100644
--- a/gui/fpguiwidget.inc
+++ b/gui/fpguiwidget.inc
@@ -402,15 +402,14 @@ end;
function TMouseMoveEventObj.SendToChild(AChild: TFWidget): Boolean;
begin
- if AChild.WidgetState * [wsEnabled, wsIsVisible] = [wsEnabled, wsIsVisible]
- then
+ if AChild.WidgetState * [wsEnabled, wsIsVisible] = [wsEnabled, wsIsVisible] then
begin
- if PtInRect(AChild.BoundsRect, Position) and not
- (wsMouseInside in AChild.WidgetState) then
+ if PtInRect(AChild.BoundsRect, Position) and not (wsMouseInside in AChild.WidgetState) then
AChild.DoMouseEnter(Shift, Position - AChild.Origin);
Result := inherited SendToChild(AChild);
- end else
+ end
+ else
Result := False;
end;
@@ -645,10 +644,10 @@ end;
procedure TFWidget.Redraw;
begin
- Redraw(Rect(0, 0, BoundsSize.cx, BoundsSize.cy));
{$IFDEF DEBUG}
- writeln(ClassName + '.Redraw');
+ writeln(Format('TFWidget.Redraw -> %s:%s', [Text, ClassName]));
{$ENDIF}
+ Redraw(Rect(0, 0, BoundsSize.cx, BoundsSize.cy));
end;
procedure TFWidget.Redraw(const ARect: TRect);