started more flexible ChildSizing.Layout engine

git-svn-id: trunk@7983 -
This commit is contained in:
mattias 2005-10-22 18:46:09 +00:00
parent 7c6130aed0
commit 45e475f8c0
8 changed files with 861 additions and 359 deletions

View File

@ -124,12 +124,13 @@ procedure Register;
implementation
const
InitAttrList: array [1..11] of LongInt = (
InitAttrList: array [1..13] of LongInt = (
GDK_GL_RGBA,
GDK_GL_RED_SIZE, 1,
GDK_GL_GREEN_SIZE, 1,
GDK_GL_BLUE_SIZE, 1,
GDK_GL_DEPTH_SIZE,1,
GDK_GL_DEPTH_SIZE, 1,
GDK_GL_STENCIL_SIZE, 1,
GDK_GL_DOUBLEBUFFER,
GDK_GL_None
);

View File

@ -1889,6 +1889,7 @@ begin
CreateEnumAliasValues(Editor.GetPropType,AliasValues,AStringArray);
if Assigned(OnEditorChanged) then
OnEditorChanged(Self);
LoadFromProperty;
end;
procedure TCustomPropertyLink.AssignSetEnumsAliasTo(DestList: TStrings);
@ -2288,14 +2289,14 @@ begin
if Sender=nil then ;
//writeln('TTICustomComboBox.LinkLoadFromProperty A FLink.GetAsText=',FLink.GetAsText,' Text=',Text);
if (FLink.Editor=nil) then exit;
//writeln('TTICustomComboBox.LinkLoadFromProperty B FLink.Editor=',FLink.Editor.ClassName);
//debugln('TTICustomComboBox.LinkLoadFromProperty B ',dbgsName(Self),' FLink.Editor=',FLink.Editor.ClassName,' FLink.GetAsText=',FLink.GetAsText);
Text:=FLink.GetAsText;
end;
procedure TTICustomComboBox.LinkSaveToProperty(Sender: TObject);
begin
if Sender=nil then ;
//writeln('TTICustomComboBox.LinkSaveToProperty FLink.GetAsText=',FLink.GetAsText,' Text=',Text);
//debugln('TTICustomComboBox.LinkSaveToProperty ',dbgsName(Self),' FLink.GetAsText=',FLink.GetAsText,' Text=',Text);
if (FLink.Editor=nil) then exit;
FLink.SetAsText(Text);
end;

View File

@ -7,82 +7,114 @@
<MainUnit Value="0"/>
<IconPath Value="./"/>
<TargetFileExt Value=""/>
<ActiveEditorIndexAtStart Value="0"/>
<ActiveEditorIndexAtStart Value="5"/>
</General>
<Units Count="9">
<Units Count="13">
<Unit0>
<Filename Value="childsizinglayout.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="ChildSizingLayout"/>
<UsageCount Value="26"/>
<UsageCount Value="52"/>
</Unit0>
<Unit1>
<CursorPos X="1" Y="60"/>
<CursorPos X="15" Y="65"/>
<EditorIndex Value="0"/>
<Filename Value="mainunit.pas"/>
<ComponentName Value="ChildsizingLayoutDemoForm"/>
<IsPartOfProject Value="True"/>
<Loaded Value="True"/>
<ResourceFilename Value="mainunit.lrs"/>
<TopLine Value="36"/>
<TopLine Value="39"/>
<UnitName Value="MainUnit"/>
<UsageCount Value="26"/>
<UsageCount Value="52"/>
</Unit1>
<Unit2>
<CursorPos X="10" Y="2692"/>
<EditorIndex Value="2"/>
<CursorPos X="22" Y="2654"/>
<EditorIndex Value="3"/>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/controls.pp"/>
<Loaded Value="True"/>
<TopLine Value="2677"/>
<TopLine Value="2627"/>
<UnitName Value="Controls"/>
<UsageCount Value="12"/>
<UsageCount Value="25"/>
</Unit2>
<Unit3>
<CursorPos X="21" Y="3269"/>
<EditorIndex Value="4"/>
<CursorPos X="21" Y="3769"/>
<EditorIndex Value="5"/>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/include/wincontrol.inc"/>
<Loaded Value="True"/>
<TopLine Value="3243"/>
<UsageCount Value="12"/>
<TopLine Value="3735"/>
<UsageCount Value="25"/>
<Bookmarks Count="1">
<Item0 X="7" Y="52" ID="0"/>
</Bookmarks>
</Unit3>
<Unit4>
<CursorPos X="14" Y="167"/>
<EditorIndex Value="1"/>
<EditorIndex Value="2"/>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/stdctrls.pp"/>
<Loaded Value="True"/>
<TopLine Value="143"/>
<UnitName Value="StdCtrls"/>
<UsageCount Value="12"/>
<UsageCount Value="25"/>
</Unit4>
<Unit5>
<CursorPos X="2" Y="846"/>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/designer/anchoreditor.pas"/>
<TopLine Value="822"/>
<UnitName Value="AnchorEditor"/>
<UsageCount Value="12"/>
<UsageCount Value="10"/>
</Unit5>
<Unit6>
<CursorPos X="3" Y="43"/>
<EditorIndex Value="3"/>
<CursorPos X="32" Y="2016"/>
<EditorIndex Value="4"/>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/include/control.inc"/>
<Loaded Value="True"/>
<TopLine Value="30"/>
<UsageCount Value="11"/>
<TopLine Value="2013"/>
<UsageCount Value="25"/>
</Unit6>
<Unit7>
<CursorPos X="33" Y="40"/>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/components/rtticontrols/rttigrids.pas"/>
<TopLine Value="16"/>
<UnitName Value="RTTIGrids"/>
<UsageCount Value="10"/>
<UsageCount Value="8"/>
</Unit7>
<Unit8>
<CursorPos X="22" Y="485"/>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/ideintf/objectinspector.pp"/>
<TopLine Value="451"/>
<UnitName Value="ObjectInspector"/>
<UsageCount Value="10"/>
<UsageCount Value="8"/>
</Unit8>
<Unit9>
<CursorPos X="3" Y="952"/>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/lcltype.pp"/>
<TopLine Value="928"/>
<UnitName Value="LCLType"/>
<UsageCount Value="11"/>
</Unit9>
<Unit10>
<CursorPos X="11" Y="373"/>
<Filename Value="/home/mattias/pascal/fpc_sources/22/fpc/rtl/inc/systemh.inc"/>
<TopLine Value="349"/>
<UsageCount Value="20"/>
</Unit10>
<Unit11>
<CursorPos X="1" Y="65"/>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/tools/install/rpm/lazarus.spec.template"/>
<SyntaxHighlighter Value="None"/>
<TopLine Value="23"/>
<UsageCount Value="10"/>
</Unit11>
<Unit12>
<CursorPos X="14" Y="573"/>
<EditorIndex Value="1"/>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/forms.pp"/>
<Loaded Value="True"/>
<TopLine Value="549"/>
<UnitName Value="Forms"/>
<UsageCount Value="10"/>
</Unit12>
</Units>
<PublishOptions>
<Version Value="2"/>
@ -107,124 +139,124 @@
</RequiredPackages>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="mainunit.pas"/>
<Caret Line="60" Column="14" TopLine="35"/>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/include/wincontrol.inc"/>
<Caret Line="602" Column="11" TopLine="577"/>
</Position1>
<Position2>
<Filename Value="mainunit.pas"/>
<Caret Line="35" Column="24" TopLine="35"/>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/include/wincontrol.inc"/>
<Caret Line="609" Column="7" TopLine="585"/>
</Position2>
<Position3>
<Filename Value="mainunit.pas"/>
<Caret Line="41" Column="34" TopLine="35"/>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/include/wincontrol.inc"/>
<Caret Line="619" Column="31" TopLine="585"/>
</Position3>
<Position4>
<Filename Value="mainunit.pas"/>
<Caret Line="40" Column="43" TopLine="35"/>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/include/wincontrol.inc"/>
<Caret Line="613" Column="70" TopLine="589"/>
</Position4>
<Position5>
<Filename Value="mainunit.pas"/>
<Caret Line="60" Column="9" TopLine="29"/>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/include/wincontrol.inc"/>
<Caret Line="624" Column="79" TopLine="600"/>
</Position5>
<Position6>
<Filename Value="mainunit.pas"/>
<Caret Line="41" Column="32" TopLine="17"/>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/include/wincontrol.inc"/>
<Caret Line="625" Column="1" TopLine="600"/>
</Position6>
<Position7>
<Filename Value="mainunit.pas"/>
<Caret Line="46" Column="7" TopLine="17"/>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/include/wincontrol.inc"/>
<Caret Line="631" Column="81" TopLine="607"/>
</Position7>
<Position8>
<Filename Value="mainunit.pas"/>
<Caret Line="40" Column="43" TopLine="17"/>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/include/wincontrol.inc"/>
<Caret Line="648" Column="17" TopLine="624"/>
</Position8>
<Position9>
<Filename Value="mainunit.pas"/>
<Caret Line="36" Column="24" TopLine="17"/>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/include/wincontrol.inc"/>
<Caret Line="649" Column="18" TopLine="624"/>
</Position9>
<Position10>
<Filename Value="mainunit.pas"/>
<Caret Line="48" Column="17" TopLine="33"/>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/include/wincontrol.inc"/>
<Caret Line="660" Column="16" TopLine="636"/>
</Position10>
<Position11>
<Filename Value="mainunit.pas"/>
<Caret Line="80" Column="39" TopLine="36"/>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/include/wincontrol.inc"/>
<Caret Line="662" Column="55" TopLine="636"/>
</Position11>
<Position12>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/controls.pp"/>
<Caret Line="1306" Column="33" TopLine="1283"/>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/include/wincontrol.inc"/>
<Caret Line="682" Column="16" TopLine="658"/>
</Position12>
<Position13>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/include/wincontrol.inc"/>
<Caret Line="1052" Column="3" TopLine="1047"/>
<Caret Line="684" Column="1" TopLine="658"/>
</Position13>
<Position14>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/include/wincontrol.inc"/>
<Caret Line="3119" Column="13" TopLine="3095"/>
<Caret Line="1471" Column="54" TopLine="1447"/>
</Position14>
<Position15>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/include/wincontrol.inc"/>
<Caret Line="1" Column="1" TopLine="1"/>
<Caret Line="1475" Column="1" TopLine="1447"/>
</Position15>
<Position16>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/include/wincontrol.inc"/>
<Caret Line="3099" Column="13" TopLine="3074"/>
<Caret Line="3753" Column="9" TopLine="3729"/>
</Position16>
<Position17>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/include/wincontrol.inc"/>
<Caret Line="3119" Column="13" TopLine="3095"/>
<Caret Line="3747" Column="14" TopLine="3729"/>
</Position17>
<Position18>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/include/wincontrol.inc"/>
<Caret Line="3120" Column="36" TopLine="3096"/>
<Caret Line="3759" Column="12" TopLine="3735"/>
</Position18>
<Position19>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/include/wincontrol.inc"/>
<Caret Line="3121" Column="15" TopLine="3097"/>
<Caret Line="3749" Column="5" TopLine="3725"/>
</Position19>
<Position20>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/include/wincontrol.inc"/>
<Caret Line="3123" Column="67" TopLine="3098"/>
<Caret Line="3755" Column="1" TopLine="3725"/>
</Position20>
<Position21>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/include/wincontrol.inc"/>
<Caret Line="3125" Column="68" TopLine="3100"/>
<Caret Line="3767" Column="7" TopLine="3743"/>
</Position21>
<Position22>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/include/wincontrol.inc"/>
<Caret Line="3128" Column="58" TopLine="3103"/>
<Caret Line="3756" Column="21" TopLine="3743"/>
</Position22>
<Position23>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/include/wincontrol.inc"/>
<Caret Line="3130" Column="61" TopLine="3105"/>
<Caret Line="3768" Column="7" TopLine="3743"/>
</Position23>
<Position24>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/include/wincontrol.inc"/>
<Caret Line="3135" Column="32" TopLine="3110"/>
<Caret Line="3773" Column="5" TopLine="3749"/>
</Position24>
<Position25>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/include/wincontrol.inc"/>
<Caret Line="3155" Column="32" TopLine="3130"/>
<Caret Line="3757" Column="24" TopLine="3749"/>
</Position25>
<Position26>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/include/wincontrol.inc"/>
<Caret Line="3266" Column="32" TopLine="3242"/>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/controls.pp"/>
<Caret Line="844" Column="15" TopLine="820"/>
</Position26>
<Position27>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/include/wincontrol.inc"/>
<Caret Line="1" Column="1" TopLine="1"/>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/controls.pp"/>
<Caret Line="2651" Column="23" TopLine="2627"/>
</Position27>
<Position28>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/controls.pp"/>
<Caret Line="1295" Column="17" TopLine="1282"/>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/include/wincontrol.inc"/>
<Caret Line="3774" Column="5" TopLine="3749"/>
</Position28>
<Position29>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/controls.pp"/>
<Caret Line="2678" Column="48" TopLine="2654"/>
<Caret Line="2651" Column="23" TopLine="2627"/>
</Position29>
<Position30>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/controls.pp"/>
<Caret Line="2701" Column="12" TopLine="2677"/>
<Filename Value="/home/mattias/pascal/wichtig/lazarus/lcl/include/wincontrol.inc"/>
<Caret Line="3770" Column="1" TopLine="3746"/>
</Position30>
</JumpHistory>
</ProjectOptions>

View File

@ -1,5 +1,3 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TChildsizingLayoutDemoForm','FORMDATA',[
'TPF0'#26'TChildsizingLayoutDemoForm'#25'ChildsizingLayoutDemoForm'#7'Caption'
+#6' Childsizing.Layout Demonstration'#12'ClientHeight'#3#207#1#11'ClientWidt'

View File

@ -94,7 +94,7 @@ begin
LayoutGroupBox.Controls[LayoutGroupBox.ControlCount-1].Free;
LayoutGroupBox.EnableAlign;
// make sure ButtonCountRadioGroup show the correct count
// make sure ButtonCountRadioGroup shows the correct count
ButtonCountRadioGroup.ItemIndex:=
ButtonCountRadioGroup.Items.IndexOf(IntToStr(NewCount));
end;

View File

@ -1271,18 +1271,13 @@ type
B and C.
}
TChildControlEnlargeStyle = (
cesAnchorAligning, // (like Delphi)
cesScaleChilds, // scale childs, keep space between childs fixed
cesHomogenousChildGrowth, // enlarge childs equally (i.e. by the same amount of pixel)
cesHomogenousSpaceGrowth // enlarge space between childs equally
TChildControlResizeStyle = (
crsAnchorAligning, // (like Delphi)
crsScaleChilds, // scale childs, keep space between childs fixed
crsHomogenousChildResize, // enlarge childs equally (i.e. by the same amount of pixel)
crsHomogenousSpaceResize // enlarge space between childs equally
);
TChildControlShrinkStyle = (
cssAnchorAligning, // (like Delphi)
cssScaleChilds, // scale childs
cssHomogenousChildDecrease // shrink childs equally (i.e. by the same amount of pixel)
);
TControlChildrenLayout = (
cclNone,
cclLeftToRightThenTopToBottom,
@ -1293,24 +1288,24 @@ type
private
FControl: TControl;
FControlsPerLine: integer;
FEnlargeHorizontal: TChildControlEnlargeStyle;
FEnlargeVertical: TChildControlEnlargeStyle;
FEnlargeHorizontal: TChildControlResizeStyle;
FEnlargeVertical: TChildControlResizeStyle;
FHorizontalSpacing: integer;
FLayout: TControlChildrenLayout;
FLeftRightSpacing: integer;
FOnChange: TNotifyEvent;
FShrinkHorizontal: TChildControlShrinkStyle;
FShrinkVertical: TChildControlShrinkStyle;
FShrinkHorizontal: TChildControlResizeStyle;
FShrinkVertical: TChildControlResizeStyle;
FTopBottomSpacing: integer;
FVerticalSpacing: integer;
procedure SetControlsPerLine(const AValue: integer);
procedure SetEnlargeHorizontal(const AValue: TChildControlEnlargeStyle);
procedure SetEnlargeVertical(const AValue: TChildControlEnlargeStyle);
procedure SetEnlargeHorizontal(const AValue: TChildControlResizeStyle);
procedure SetEnlargeVertical(const AValue: TChildControlResizeStyle);
procedure SetHorizontalSpacing(const AValue: integer);
procedure SetLayout(const AValue: TControlChildrenLayout);
procedure SetLeftRightSpacing(const AValue: integer);
procedure SetShrinkHorizontal(const AValue: TChildControlShrinkStyle);
procedure SetShrinkVertical(const AValue: TChildControlShrinkStyle);
procedure SetShrinkHorizontal(const AValue: TChildControlResizeStyle);
procedure SetShrinkVertical(const AValue: TChildControlResizeStyle);
procedure SetTopBottomSpacing(const AValue: integer);
procedure SetVerticalSpacing(const AValue: integer);
protected
@ -1328,14 +1323,14 @@ type
property TopBottomSpacing: integer read FTopBottomSpacing write SetTopBottomSpacing;
property HorizontalSpacing: integer read FHorizontalSpacing write SetHorizontalSpacing;
property VerticalSpacing: integer read FVerticalSpacing write SetVerticalSpacing;
property EnlargeHorizontal: TChildControlEnlargeStyle read FEnlargeHorizontal
write SetEnlargeHorizontal default cesAnchorAligning;
property EnlargeVertical: TChildControlEnlargeStyle read FEnlargeVertical
write SetEnlargeVertical default cesAnchorAligning;
property ShrinkHorizontal: TChildControlShrinkStyle read FShrinkHorizontal
write SetShrinkHorizontal default cssAnchorAligning;
property ShrinkVertical: TChildControlShrinkStyle read FShrinkVertical
write SetShrinkVertical default cssAnchorAligning;
property EnlargeHorizontal: TChildControlResizeStyle read FEnlargeHorizontal
write SetEnlargeHorizontal default crsAnchorAligning;
property EnlargeVertical: TChildControlResizeStyle read FEnlargeVertical
write SetEnlargeVertical default crsAnchorAligning;
property ShrinkHorizontal: TChildControlResizeStyle read FShrinkHorizontal
write SetShrinkHorizontal default crsAnchorAligning;
property ShrinkVertical: TChildControlResizeStyle read FShrinkVertical
write SetShrinkVertical default crsAnchorAligning;
property Layout: TControlChildrenLayout read FLayout write SetLayout default cclNone;
property ControlsPerLine: integer read FControlsPerLine write SetControlsPerLine;
end;
@ -2574,7 +2569,7 @@ end;
{ TControlChildSizing }
procedure TControlChildSizing.SetEnlargeHorizontal(
const AValue: TChildControlEnlargeStyle);
const AValue: TChildControlResizeStyle);
begin
if FEnlargeHorizontal=AValue then exit;
FEnlargeHorizontal:=AValue;
@ -2589,7 +2584,7 @@ begin
end;
procedure TControlChildSizing.SetEnlargeVertical(
const AValue: TChildControlEnlargeStyle);
const AValue: TChildControlResizeStyle);
begin
if FEnlargeVertical=AValue then exit;
FEnlargeVertical:=AValue;
@ -2619,7 +2614,7 @@ begin
end;
procedure TControlChildSizing.SetShrinkHorizontal(
const AValue: TChildControlShrinkStyle);
const AValue: TChildControlResizeStyle);
begin
if FShrinkHorizontal=AValue then exit;
FShrinkHorizontal:=AValue;
@ -2627,7 +2622,7 @@ begin
end;
procedure TControlChildSizing.SetShrinkVertical(
const AValue: TChildControlShrinkStyle);
const AValue: TChildControlResizeStyle);
begin
if FShrinkVertical=AValue then exit;
FShrinkVertical:=AValue;
@ -2653,10 +2648,10 @@ begin
FControl:=OwnerControl;
inherited Create;
FLayout:=cclNone;
FEnlargeHorizontal:=cesAnchorAligning;
FEnlargeVertical:=cesAnchorAligning;
FShrinkHorizontal:=cssAnchorAligning;
FShrinkVertical:=cssAnchorAligning;
FEnlargeHorizontal:=crsAnchorAligning;
FEnlargeVertical:=crsAnchorAligning;
FShrinkHorizontal:=crsAnchorAligning;
FShrinkVertical:=crsAnchorAligning;
end;
procedure TControlChildSizing.Assign(Source: TPersistent);

File diff suppressed because it is too large Load Diff

View File

@ -44,7 +44,8 @@ cp -a lazarus/* %{buildroot}%{_libdir}/%{name}/
install -m 644 lazarus/images/ide_icon48x48.png %{buildroot}%{_datadir}/pixmaps/lazarus.png
# install -m 644 lazarus/gnome.ide.desktop %{buildroot}%{_datadir}/gnome/apps/Development/lazarus.desktop
install -m 644 lazarus/install/gnome.ide.desktop %{buildroot}%{_datadir}/applications/lazarus.desktop
ln -sf ../%{_lib}/%{name}/%{name} %{buildroot}%{_bindir}/%{name}
ln -sf ../%{_lib}/%{name}/lazarus %{buildroot}%{_bindir}/lazarus
ln -sf ../%{_lib}/%{name}/startlazarus %{buildroot}%{_bindir}/startlazarus
%clean
[ %{buildroot} != "/" ] && ( rm -rf %{buildroot} )