Browse Source

* more fixes from gabor

peter 26 years ago
parent
commit
ceca587979
3 changed files with 33 additions and 9 deletions
  1. 8 4
      ide/text/fpide.pas
  2. 6 2
      ide/text/fpmwnd.inc
  3. 19 3
      ide/text/weditor.pas

+ 8 - 4
ide/text/fpide.pas

@@ -502,10 +502,11 @@ procedure TIDEApp.GetTileRect(var R: TRect);
 begin
   Desktop^.GetExtent(R);
 { Leave the compiler messages window in the bottom }
-  if assigned(CompilerMessageWindow) then
-   R.B.Y:=CompilerMessageWindow^.Origin.Y;
+  if assigned(CompilerMessageWindow) and (CompilerMessageWindow^.GetState(sfVisible)) then
+   R.B.Y:=Min(CompilerMessageWindow^.Origin.Y,Desktop^.Size.Y);
 { Leave the messages window in the bottom }
-  if assigned(MessagesWindow) and (MessagesWindow^.Origin.Y<R.B.Y) then
+  if assigned(MessagesWindow) and (MessagesWindow^.GetState(sfVisible)) and
+     (MessagesWindow^.Origin.Y<R.B.Y) then
    R.B.Y:=MessagesWindow^.Origin.Y;
 end;
 
@@ -762,7 +763,10 @@ end;
 END.
 {
   $Log$
-  Revision 1.30  1999-06-28 19:32:20  peter
+  Revision 1.31  1999-06-29 22:50:14  peter
+    * more fixes from gabor
+
+  Revision 1.30  1999/06/28 19:32:20  peter
     * fixes from gabor
 
   Revision 1.29  1999/06/28 12:40:19  pierre

+ 6 - 2
ide/text/fpmwnd.inc

@@ -133,7 +133,8 @@ begin
             ClearEvent(Event);
           end;
         cmOK :
-          PView(C^.At(LB^.Focused))^.MakeFirst;
+          if C^.Count>0 then
+            PView(C^.At(LB^.Focused))^.MakeFirst;
       end;
   end;
   inherited HandleEvent(Event);
@@ -155,7 +156,10 @@ end;
 
 {
   $Log$
-  Revision 1.8  1999-06-28 19:32:23  peter
+  Revision 1.9  1999-06-29 22:50:15  peter
+    * more fixes from gabor
+
+  Revision 1.8  1999/06/28 19:32:23  peter
     * fixes from gabor
 
   Revision 1.7  1999/03/01 15:42:00  peter

+ 19 - 3
ide/text/weditor.pas

@@ -268,6 +268,7 @@ type
       function    GetLine(I: sw_integer): PLine;
       procedure   CheckSels;
       function    UpdateAttrs(FromLine: sw_integer; Attrs: byte): sw_integer;
+      function    UpdateAttrsRange(FromLine, ToLine: sw_integer; Attrs: byte): sw_integer;
       procedure   DrawLines(FirstLine: sw_integer);
       procedure   HideHighlight;
       procedure   AddAction(AAction: byte; AStartPos, AEndPos: TPoint; AText: string);
@@ -2422,7 +2423,7 @@ begin
      SetLineText(i,' '+S);
    end;
   SetCurPtr(CurPos.X,CurPos.Y);
-  UpdateAttrs(SelStart.Y,attrAll);
+  UpdateAttrsRange(SelStart.Y,SelEnd.Y,attrAll);
   DrawLines(CurPos.Y);
   Modified:=true;
   UpdateIndicator;
@@ -2448,7 +2449,7 @@ begin
      SetLineText(i,S);
    end;
   SetCurPtr(CurPos.X,CurPos.Y);
-  UpdateAttrs(SelStart.Y,attrAll);
+  UpdateAttrsRange(SelStart.Y,SelEnd.Y,attrAll);
   DrawLines(CurPos.Y);
   Modified:=true;
   UpdateIndicator;
@@ -3223,6 +3224,18 @@ begin
   UpdateAttrs:=CurLine;
 end;
 
+
+function TCodeEditor.UpdateAttrsRange(FromLine, ToLine: sw_integer; Attrs: byte): sw_integer;
+var Line: Sw_integer;
+begin
+  Line:=FromLine;
+  repeat
+    Line:=UpdateAttrs(Line,Attrs);
+  until (Line>GetLineCount) or (Line>ToLine);
+  UpdateAttrsRange:=Line;
+end;
+
+
 procedure TCodeEditor.DrawLines(FirstLine: sw_integer);
 begin
   DrawView;
@@ -3921,7 +3934,10 @@ end;
 END.
 {
   $Log$
-  Revision 1.36  1999-06-29 08:51:34  pierre
+  Revision 1.37  1999-06-29 22:50:16  peter
+    * more fixes from gabor
+
+  Revision 1.36  1999/06/29 08:51:34  pierre
    * lockflag problems fixed
 
   Revision 1.35  1999/06/28 19:32:32  peter