/[packages]/cauldron/fp-ide-ru/current/SOURCES/fix_min_size.patch
ViewVC logotype

Contents of /cauldron/fp-ide-ru/current/SOURCES/fix_min_size.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1342504 - (show annotations) (download)
Tue Dec 18 01:53:10 2018 UTC (5 years, 3 months ago) by alexl
File size: 7066 byte(s)
do not obsolete
1 --- ./packages/fv/src/views.pas.orig 2009-11-04 19:45:26.000000000 +0300
2 +++ ./packages/fv/src/views.pas 2014-02-21 22:51:40.000000000 +0400
3 @@ -1897,9 +1897,16 @@
4 END;
5
6 PROCEDURE GrowI (Var I: Sw_Integer);
7 + VAR
8 + Z: Sw_Integer;
9 BEGIN
10 If (GrowMode AND gfGrowRel = 0) Then Inc(I, D)
11 - Else I := (I * S + (S - D) SHR 1) DIV (S - D); { Calc grow value }
12 + Else BEGIN { Calc grow value }
13 + I := (I * S + (S - D) SHR 1);
14 + Z := (S - D);
15 + If Z < 1 THEN Z := 1;
16 + I :=I DIV Z;
17 + END;
18 END;
19
20 BEGIN
21 @@ -3128,6 +3135,7 @@
22 {---------------------------------------------------------------------------}
23 PROCEDURE TScrollBar.HandleEvent (Var Event: TEvent);
24 VAR Tracking: Boolean; I, P, S, ClickPart, Iv: Sw_Integer;
25 + Z: LONGINT;
26 Mouse: TPoint; Extent: TRect;
27
28 FUNCTION GetPartCode: Sw_Integer;
29 @@ -3230,14 +3238,18 @@
30 If (I > S) Then I := S; { Check overflow }
31 End Else I := GetPos; { Get position }
32 If (I <> P) Then Begin
33 + Z := S + Min;
34 + IF Z = 0 Then Z := 1;
35 SetValue(LongInt((LongInt(I)*(Max-Min))
36 - +(S SHR 1)) DIV S + Min); { Set new value }
37 + +(S SHR 1)) DIV Z); { Set new value }
38 P := I; { Hold new position }
39 End;
40 Until NOT MouseEvent(Event, evMouseMove); { Until not moving }
41 + Z := S + Min;
42 + IF Z = 0 THEN Z := 1;
43 If Tracking AND (S > 0) Then { Tracking mouse }
44 SetValue(LongInt((LongInt(P)*(Max-Min))+
45 - (S SHR 1)) DIV S + Min); { Set new value }
46 + (S SHR 1)) DIV Z); { Set new value }
47 If (Iv <> Value) Then Clicked; { Scroll has moved }
48 End;
49 ClearEvent(Event); { Clear the event }
50 @@ -3434,6 +3446,7 @@
51 CONSTRUCTOR TListViewer.Init (Var Bounds: TRect; ANumCols: Sw_Word; AHScrollBar,
52 AVScrollBar: PScrollBar);
53 VAR ArStep, PgStep: Sw_Integer;
54 +Z: LONGINT;
55 BEGIN
56 Inherited Init(Bounds); { Call ancestor }
57 Options := Options OR (ofFirstClick+ofSelectable); { Set options }
58 @@ -3449,8 +3462,10 @@
59 End;
60 AVScrollBar^.SetStep(PgStep, ArStep); { Set scroll values }
61 End;
62 + Z := NumCols;
63 + If Z = 0 Then Z := 1;
64 If (AHScrollBar <> Nil) Then
65 - AHScrollBar^.SetStep(Size.X DIV NumCols, 1); { Set step size }
66 + AHScrollBar^.SetStep(Size.X DIV Z, 1); { Set step size }
67 HScrollBar := AHScrollBar; { Horz scrollbar held }
68 VScrollBar := AVScrollBar; { Vert scrollbar held }
69 END;
70 @@ -3503,8 +3518,11 @@
71 VAR I, J, ColWidth, Item, Indent, CurCol: Sw_Integer;
72 Color: Word; SCOff: Byte;
73 Text: String; B: TDrawBuffer;
74 + Z: LongInt;
75 BEGIN
76 - ColWidth := Size.X DIV NumCols + 1; { Calc column width }
77 + Z := NumCols;
78 + IF Z = 0 Then Z := 1;
79 + ColWidth := Size.X DIV Z + 1; { Calc column width }
80 If (HScrollBar = Nil) Then Indent := 0 Else { Set indent to zero }
81 Indent := HScrollBar^.Value; { Fetch any indent }
82 For I := 0 To Size.Y - 1 Do Begin { For each line }
83 @@ -3549,16 +3567,20 @@
84 { FocusItem -> Platforms DOS/DPMI/WIN/NT/OS2 - Updated 26Jul99 LdB }
85 {---------------------------------------------------------------------------}
86 PROCEDURE TListViewer.FocusItem (Item: Sw_Integer);
87 +VAR
88 +YY: LongInt;
89 BEGIN
90 + YY := Size.Y;
91 + If YY = 0 Then YY := 1;
92 Focused := Item; { Set focus to item }
93 If (VScrollBar <> Nil) Then
94 VScrollBar^.SetValue(Item); { Scrollbar to value }
95 If (Item < TopItem) Then { Item above top item }
96 If (NumCols = 1) Then TopItem := Item { Set top item }
97 - Else TopItem := Item - Item MOD Size.Y { Set top item }
98 + Else TopItem := Item - Item MOD YY { Set top item }
99 Else If (Item >= TopItem + (Size.Y*NumCols)) Then { Item below bottom }
100 If (NumCols = 1) Then TopItem := Item-Size.Y+1 { Set new top item }
101 - Else TopItem := Item - Item MOD Size.Y -
102 + Else TopItem := Item - Item MOD YY -
103 (Size.Y*(NumCols-1)); { Set new top item }
104 END;
105
106 @@ -3635,6 +3657,7 @@
107 PROCEDURE TListViewer.HandleEvent (Var Event: TEvent);
108 CONST MouseAutosToSkip = 4;
109 VAR Oi, Ni: Sw_Integer; Ct, Cw: Word; Mouse: TPoint;
110 +Z, YY: LongInt;
111
112 PROCEDURE MoveFocus (Req: Sw_Integer);
113 BEGIN
114 @@ -3683,7 +3706,11 @@
115 End;
116 End;
117 evMouseDown: Begin { Mouse down event }
118 - Cw := Size.X DIV NumCols + 1; { Column width }
119 + Z := NumCols;
120 +
121 + IF Z = 0 Then Z := 1;
122 + Cw := Size.X DIV Z + 1; { Column width }
123 + IF Cw = 0 Then Cw := 1;
124 Oi := Focused; { Hold focused item }
125 MakeLocal(Event.Where, Mouse); { Localize mouse }
126 If MouseInView(Event.Where) Then Ni := Mouse.Y
127 @@ -3709,11 +3736,13 @@
128 Ni := Focused-Size.Y; { Move down 1 column }
129 If (Mouse.X >= Size.X) Then { Mouse x above width }
130 Ni := Focused+Size.Y; { Move up 1 column }
131 + YY := Size.Y;
132 + If YY = 0 Then YY := 1;
133 If (Mouse.Y < 0) Then { Mouse y below zero }
134 - Ni := Focused-Focused MOD Size.Y; { Move up one item }
135 + Ni := Focused-Focused MOD YY; { Move up one item }
136 If (Mouse.Y > Size.Y) Then { Mouse y above height }
137 Ni := Focused-Focused MOD
138 - Size.Y+Size.Y-1; { Move down one item }
139 + YY+Size.Y-1; { Move down one item }
140 End;
141 End;
142 End Else Ni := Mouse.Y + (Size.Y*(Mouse.X
143 @@ -3732,10 +3761,14 @@
144 { ChangeBounds -> Platforms DOS/DPMI/WIN/NT/OS2 - Updated 30Jul99 LdB }
145 {---------------------------------------------------------------------------}
146 PROCEDURE TListViewer.ChangeBounds (Var Bounds: TRect);
147 +VAR
148 +Z: LongInt;
149 BEGIN
150 + Z := NumCols;
151 + IF Z = 0 Then Z := 1;
152 Inherited ChangeBounds(Bounds); { Call ancestor }
153 If (HScrollBar <> Nil) Then { Valid horz scrollbar }
154 - HScrollBar^.SetStep(Size.X DIV NumCols,
155 + HScrollBar^.SetStep(Size.X DIV Z,
156 HScrollBar^.ArStep); { Update horz bar }
157 If (VScrollBar <> Nil) Then { Valid vert scrollbar }
158 VScrollBar^.SetStep(Size.Y * NumCols,

  ViewVC Help
Powered by ViewVC 1.1.30