diff options
author | Graeme Geldenhuys <graemeg@gmail.com> | 2014-08-20 02:11:13 +0100 |
---|---|---|
committer | Graeme Geldenhuys <graemeg@gmail.com> | 2014-08-20 02:11:13 +0100 |
commit | c8acc2c1666015daeb3038c838e5018c0ecd8903 (patch) | |
tree | 5ad2edaf0e5fb6be146491226dca4d915333d80d /examples/apps | |
parent | c45010b6370b50f8e6192ddb7dc3d7762c8c29f7 (diff) | |
parent | d0d8573b046e5020d05c86a970d303084de19b7d (diff) | |
download | fpGUI-c8acc2c1666015daeb3038c838e5018c0ecd8903.tar.xz |
Merge branch 'release-1.2' into master
Diffstat (limited to 'examples/apps')
-rw-r--r-- | examples/apps/debugserver/extrafpc.cfg | 4 | ||||
-rw-r--r-- | examples/apps/debugserver/fpgDebugServer.lpi | 7 | ||||
-rw-r--r-- | examples/apps/debugserver/fra_liveview.pas | 66 | ||||
-rw-r--r-- | examples/apps/debugserver/frm_main.pas | 204 | ||||
-rw-r--r-- | examples/apps/debugserver/images.inc | 54 | ||||
-rw-r--r-- | examples/apps/debugserver/images/extended_view.bmp | bin | 0 -> 822 bytes | |||
-rw-r--r-- | examples/apps/docedit/extrafpc.cfg | 4 | ||||
-rw-r--r-- | examples/apps/globe/extrafpc.cfg | 4 | ||||
-rw-r--r-- | examples/apps/globe/frm_main.pas | 6 | ||||
-rw-r--r-- | examples/apps/ide/src/extrafpc.cfg | 4 | ||||
-rw-r--r-- | examples/apps/ide/src/fpg_textedit.pas | 4 | ||||
-rw-r--r-- | examples/apps/ide/src/frm_main.pas | 11 | ||||
-rw-r--r-- | examples/apps/ide/src/maximus.lpi | 2 | ||||
-rw-r--r-- | examples/apps/ide/src/maximus.lpr | 27 | ||||
-rw-r--r-- | examples/apps/nanoedit/extrafpc.cfg | 4 | ||||
-rw-r--r-- | examples/apps/nanoedit/mainfrm.pas | 16 |
16 files changed, 384 insertions, 33 deletions
diff --git a/examples/apps/debugserver/extrafpc.cfg b/examples/apps/debugserver/extrafpc.cfg index bf32f456..49dd2ec7 100644 --- a/examples/apps/debugserver/extrafpc.cfg +++ b/examples/apps/debugserver/extrafpc.cfg @@ -4,3 +4,7 @@ -Xs -XX -CX +#ifdef mswindows +-WG +#endif + diff --git a/examples/apps/debugserver/fpgDebugServer.lpi b/examples/apps/debugserver/fpgDebugServer.lpi index f26f35ee..582e7494 100644 --- a/examples/apps/debugserver/fpgDebugServer.lpi +++ b/examples/apps/debugserver/fpgDebugServer.lpi @@ -38,7 +38,7 @@ <PackageName Value="fpgui_toolkit"/> </Item1> </RequiredPackages> - <Units Count="2"> + <Units Count="3"> <Unit0> <Filename Value="fpgDebugServer.lpr"/> <IsPartOfProject Value="True"/> @@ -49,6 +49,11 @@ <IsPartOfProject Value="True"/> <UnitName Value="frm_main"/> </Unit1> + <Unit2> + <Filename Value="fra_liveview.pas"/> + <IsPartOfProject Value="True"/> + <UnitName Value="fra_liveview"/> + </Unit2> </Units> </ProjectOptions> <CompilerOptions> diff --git a/examples/apps/debugserver/fra_liveview.pas b/examples/apps/debugserver/fra_liveview.pas new file mode 100644 index 00000000..dd04e625 --- /dev/null +++ b/examples/apps/debugserver/fra_liveview.pas @@ -0,0 +1,66 @@ +unit fra_liveview; + +{$mode objfpc}{$H+} + +interface + +uses + SysUtils, + Classes, + fpg_base, + fpg_main, + fpg_form, + fpg_panel, + fpg_grid; + +type + + TLiveViewFrame = class(TfpgFrame) + private + {@VFD_HEAD_BEGIN: fra_liveview} + Grid1: TfpgStringGrid; + {@VFD_HEAD_END: fra_liveview} + public + procedure AfterCreate; override; + property Grid: TfpgStringGrid read Grid1; + end; + +{@VFD_NEWFORM_DECL} + +implementation + +{@VFD_NEWFORM_IMPL} + +procedure TLiveViewFrame.AfterCreate; +begin + {%region 'Auto-generated GUI code' -fold} + {@VFD_BODY_BEGIN: fra_liveview} + Name := 'fra_liveview'; + SetPosition(359, 215, 442, 104); + WindowTitle := 'fra_liveview'; + Hint := ''; + + Grid1 := TfpgStringGrid.Create(self); + with Grid1 do + begin + Name := 'Grid1'; + SetPosition(0, 4, 444, 98); + Anchors := [anLeft,anRight,anTop,anBottom]; + BackgroundColor := TfpgColor($80000002); + AddColumn('Desc', 100, taLeftJustify); + AddColumn('Value', 310, taLeftJustify); + FontDesc := '#Grid'; + HeaderFontDesc := '#GridHeader'; + Hint := ''; + RowCount := 0; + RowSelect := False; + ShowHeader := False; + TabOrder := 1; + end; + + {@VFD_BODY_END: fra_liveview} + {%endregion} +end; + + +end. diff --git a/examples/apps/debugserver/frm_main.pas b/examples/apps/debugserver/frm_main.pas index 3e0fdd33..436a170c 100644 --- a/examples/apps/debugserver/frm_main.pas +++ b/examples/apps/debugserver/frm_main.pas @@ -79,8 +79,10 @@ uses ,fpg_menu ,fpg_basegrid ,fpg_grid + ,fpg_memo ,simpleipc - ,dbugmsg + ,fpg_dbugmsg + ,fra_liveview ; type @@ -98,6 +100,9 @@ type btnPause: TfpgButton; btnStart: TfpgButton; btnClear: TfpgButton; + btnExpandView: TfpgButton; + Bevel3: TfpgBevel; + btnLiveView: TfpgButton; {@VFD_HEAD_END: MainForm} miPause: TfpgMenuItem; FIPCSrv: TSimpleIPCServer; @@ -105,21 +110,31 @@ type FAddAtBottom: Boolean; FDiscarded: Integer; FShowOnMessage: Boolean; + FMemo: TfpgMemo; + FLiveViewFrame: TLiveViewFrame; procedure StartServer; procedure StopServer; procedure CheckMessages(Sender: TObject); procedure CheckDebugMessages; procedure ReadDebugMessage; procedure ShowDebugMessage(const AMsg: TDebugmessage); + procedure ShowLiveViewMessage(const AMsg: TDebugmessage); procedure ShowMessageWindow; procedure miPauseClicked(Sender: TObject); procedure miFileQuit(Sender: TObject); + procedure miEditCopy(Sender: TObject); + procedure btnExpandViewClicked(Sender: TObject); procedure miHelpAboutFPGui(Sender: TObject); procedure miHelpProductInformation(Sender: TObject); procedure btnClearClicked(Sender: TObject); procedure btnPauseClicked(Sender: TObject); procedure btnStartClicked(Sender: TObject); + procedure btnLiveViewClicked(Sender: TObject); procedure GridDrawCell(Sender: TObject; const ARow, ACol: Integer; const ARect: TfpgRect; const AFlags: TfpgGridDrawState; var ADefaultDrawing: boolean); + procedure GridRowChanged(Sender: TObject; ARow: Integer); + procedure GridClicked(Sender: TObject); + procedure CreateLiveViewFrame; + procedure DestroyLiveViewFrame; public constructor Create(AOwner: TComponent); override; destructor Destroy; override; @@ -133,6 +148,8 @@ implementation uses dateutils ,fpg_dialogs + ,fpg_constants + ,fpg_dbugintf ; @@ -171,12 +188,13 @@ begin ADefaultDrawing := False; try i := StrToInt(grdMessages.Cells[ACol, ARow]); + { TODO: This needs improving. We need to somehow referce TDebugLevel instead } case i of - -1: img := fpgImages.GetImage('dbs.state.stop'); - 0: img := fpgImages.GetImage('dbs.state.info'); - 1: img := fpgImages.GetImage('dbs.state.warning'); - 2: img := fpgImages.GetImage('dbs.state.error'); - 3: img := fpgImages.GetImage('dbs.state.identify'); + 0: img := fpgImages.GetImage('dbs.state.stop'); + 1: img := fpgImages.GetImage('dbs.state.info'); + 2: img := fpgImages.GetImage('dbs.state.warning'); + 3: img := fpgImages.GetImage('dbs.state.error'); + 4: img := fpgImages.GetImage('dbs.state.identify'); end; dx := (grdMessages.ColumnWidth[ACol] - 16) div 2; grdMessages.Canvas.DrawImage(ARect.Left + dx, ARect.Top {+ y}, img); @@ -189,6 +207,47 @@ begin end; end; +procedure TMainForm.GridRowChanged(Sender: TObject; ARow: Integer); +begin + if not btnExpandView.Down then + Exit; + FMemo.Text := grdMessages.Cells[2, ARow]; +// FMemo.Text := grdMessages.Cells[2, grdMessages.FocusRow]; +end; + +procedure TMainForm.GridClicked(Sender: TObject); +begin + if not btnExpandView.Down then + Exit; + if (grdMessages.RowCount > 0) and (grdMessages.FocusRow <> -1) then + FMemo.Text := grdMessages.Cells[2, grdMessages.FocusRow]; +end; + +procedure TMainForm.CreateLiveViewFrame; +begin + if Assigned(FLiveViewFrame) then + FLiveViewFrame.Free; + FLiveViewFrame := TLiveViewFrame.Create(self); + grdMessages.Height := grdMessages.Height - FLiveViewFrame.Height; + grdMessages.UpdateWindowPosition; + FLiveViewFrame.SetPosition(grdMessages.Left, grdMessages.Bottom+1, grdMessages.Width, FLiveViewFrame.Height); +end; + +procedure TMainForm.DestroyLiveViewFrame; +begin + grdMessages.Height := grdMessages.Height + FLiveViewFrame.Height; + FreeAndNil(FLiveViewFrame); + grdMessages.UpdateWindowPosition; +end; + +procedure TMainForm.btnLiveViewClicked(Sender: TObject); +begin + if btnLiveView.Down then + CreateLiveViewFrame + else + DestroyLiveViewFrame; +end; + procedure TMainForm.StartServer; begin FIPCSrv := TSimpleIPCServer.Create(nil); @@ -223,9 +282,14 @@ var Msg: TDebugMessage; begin FIPCSrv.MsgData.Seek(0, soFromBeginning); - ReadDebugMessageFromStream(FIPCSrv.MsgData, MSg); + ReadDebugMessageFromStream(FIPCSrv.MsgData, Msg); if not FPaused then - ShowDebugMessage(Msg) + begin + if Msg.MsgType = Ord(dlLive) then + ShowLiveViewMessage(Msg) + else + ShowDebugMessage(Msg); + end else Inc(FDiscarded); end; @@ -254,6 +318,36 @@ begin ShowMessageWindow; end; +procedure TMainForm.ShowLiveViewMessage(const AMsg: TDebugmessage); +var + r: integer; + lFound: Boolean; +begin + if not Assigned(FLiveViewFrame) then + Exit; + lFound := False; + FLiveViewFrame.Grid.BeginUpdate; + for r := 0 to FLiveViewFrame.Grid.RowCount-1 do + begin + if FLiveViewFrame.Grid.Cells[0, r] = AMsg.MsgTitle then + begin + lFound := True; + Break; + end; + end; + if lFound then + begin + FLiveViewFrame.Grid.Cells[1, r] := AMsg.Msg; + end + else + begin + FLiveViewFrame.Grid.RowCount := FLiveViewFrame.Grid.RowCount + 1; + FLiveViewFrame.Grid.Cells[0, FLiveViewFrame.Grid.RowCount-1] := AMsg.MsgTitle; + FLiveViewFrame.Grid.Cells[1, FLiveViewFrame.Grid.RowCount-1] := AMsg.Msg; + end; + FLiveViewFrame.Grid.EndUpdate; +end; + procedure TMainForm.ShowMessageWindow; begin if not Visible then @@ -271,6 +365,37 @@ begin Close; end; +procedure TMainForm.miEditCopy(Sender: TObject); +begin + if (grdMessages.RowCount > 0) and (grdMessages.FocusRow <> -1) then + fpgClipboard.Text := grdMessages.Cells[2, grdMessages.FocusRow]; +end; + +procedure TMainForm.btnExpandViewClicked(Sender: TObject); +const + cSpacing = 4; +begin + if btnExpandView.Down then + begin + FMemo := CreateMemo(self, grdMessages.Right + cSpacing, grdMessages.Top, 200, Height - grdMessages.Top - cSpacing); + FMemo.UpdateWindowPosition; + grdMessages.Anchors := grdMessages.Anchors - [anRight]; + Width := Width + FMemo.Width + (2 * cSpacing); + UpdateWindowPosition; + grdMessages.Anchors := grdMessages.Anchors + [anRight]; + GridClicked(nil); // update memo contents + end + else + begin + grdMessages.Anchors := grdMessages.Anchors - [anRight]; + Width := Width - FMemo.Width - (2 * cSpacing); + FMemo.Visible := False; + UpdateWindowPosition; + grdMessages.Anchors := grdMessages.Anchors + [anRight]; + FreeAndNil(FMemo); + end; +end; + procedure TMainForm.miHelpAboutFPGui(Sender: TObject); begin TfpgMessageDialog.AboutFPGui; @@ -293,6 +418,7 @@ begin fpgImages.AddMaskedBMP('dbs.stop', @DBS_stop, sizeof(DBS_stop), 0, 0); fpgImages.AddMaskedBMP('dbs.pause', @DBS_pause, sizeof(DBS_pause), 0, 0); fpgImages.AddMaskedBMP('dbs.run', @DBS_run, sizeof(DBS_run), 0, 0); + fpgImages.AddMaskedBMP('dbs.extended_view', @DBS_extended_view, sizeof(DBS_extended_view), 0, 0); fpgImages.AddMaskedBMP('dbs.state.info', @DBS_state_info, sizeof(DBS_state_info), 0, 0); fpgImages.AddMaskedBMP('dbs.state.warning', @DBS_state_warning, sizeof(DBS_state_warning), 0, 0); @@ -316,6 +442,7 @@ begin WindowTitle := 'fpGUI''s Debug Server'; Hint := ''; ShowHint := True; + WindowPosition := wpScreenCenter; MainMenu := TfpgMenuBar.Create(self); with MainMenu do @@ -332,8 +459,8 @@ begin SetPosition(0, 21, 486, 30); Anchors := [anLeft,anRight,anTop]; Hint := ''; - Style := bsLowered; Shape := bsBottomLine; + Style := bsLowered; end; grdMessages := TfpgStringGrid.Create(self); @@ -342,6 +469,7 @@ begin Name := 'grdMessages'; SetPosition(4, 55, 478, 254); Anchors := [anLeft,anRight,anTop,anBottom]; + BackgroundColor := TfpgColor($80000002); AddColumn('Type', 50, taLeftJustify); AddColumn('Time', 75, taCenter); AddColumn('Message', 330, taLeftJustify); @@ -354,6 +482,8 @@ begin TabOrder := 2; Options := [go_SmoothScroll]; OnDrawCell := @GridDrawCell; +// OnRowChange := @GridRowChanged; + OnClick := @GridClicked; end; mnuFile := TfpgPopupMenu.Create(self); @@ -371,9 +501,9 @@ begin begin Name := 'mnuEdit'; SetPosition(260, 126, 120, 24); - AddMenuItem('Cut', '', nil).Enabled := False; - AddMenuItem('Copy', '', nil).Enabled := False; - AddMenuItem('Paste', '', nil).Enabled := False; + // AddMenuItem('Cut', '', nil).Enabled := False; + AddMenuItem('Copy selected message to clipboard', rsKeyCtrl+'C', @miEditCopy); + // AddMenuItem('Paste', '', nil).Enabled := False; AddMenuItem('-', '', nil); AddMenuItem('Preferences...', '', nil).Enabled := False; end; @@ -410,8 +540,8 @@ begin Name := 'Bevel2'; SetPosition(34, 2, 8, 25); Hint := ''; - Style := bsLowered; Shape := bsLeftLine; + Style := bsLowered; end; btnPause := TfpgButton.Create(Bevel1); @@ -439,6 +569,7 @@ begin Name := 'btnStart'; SetPosition(67, 2, 24, 24); Text := ''; + Enabled := False; Flat := True; FontDesc := '#Label1'; Hint := 'start server'; @@ -448,7 +579,6 @@ begin TabOrder := 2; Focusable := False; OnClick := @btnStartClicked; - Enabled := False; end; btnClear := TfpgButton.Create(Bevel1); @@ -468,6 +598,52 @@ begin OnClick :=@btnClearClicked; end; + btnExpandView := TfpgButton.Create(Bevel1); + with btnExpandView do + begin + Name := 'btnExpandView'; + SetPosition(128, 2, 24, 24); + Text := ''; + AllowAllUp := True; + Flat := True; + FontDesc := '#Label1'; + GroupIndex := 2; + Hint := 'Toggle expanded view'; + ImageMargin := -1; + ImageName := 'dbs.extended_view'; + ImageSpacing := 0; + TabOrder := 6; + Focusable := False; + OnClick := @btnExpandViewClicked; + end; + + Bevel3 := TfpgBevel.Create(Bevel1); + with Bevel3 do + begin + Name := 'Bevel3'; + SetPosition(120, 2, 8, 24); + Hint := ''; + Shape := bsLeftLine; + Style := bsLowered; + end; + + btnLiveView := TfpgButton.Create(Bevel1); + with btnLiveView do + begin + Name := 'btnLiveView'; + SetPosition(156, 2, 24, 24); + Text := 'LV'; + AllowAllUp := True; + Flat := True; + FontDesc := '#Label1'; + GroupIndex := 3; + Hint := ''; + ImageName := ''; + TabOrder := 8; + Focusable := False; + OnClick := @btnLiveViewClicked; + end; + {@VFD_BODY_END: MainForm} {%endregion} diff --git a/examples/apps/debugserver/images.inc b/examples/apps/debugserver/images.inc index 166155c9..ce33402d 100644 --- a/examples/apps/debugserver/images.inc +++ b/examples/apps/debugserver/images.inc @@ -206,3 +206,57 @@ Const 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255, 255, 0,255,255, 0,255); + + +const + DBS_extended_view: array[0..821] of byte = ( + 66, 77, 54, 3, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 40, 0, 0, + 0, 16, 0, 0, 0, 16, 0, 0, 0, 1, 0, 24, 0, 0, 0, 0, 0, + 0, 3, 0, 0, 19, 11, 0, 0, 19, 11, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0, + 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, + 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255, + 255, 0,255,164,101, 52,164,101, 52,164,101, 52,164,101, 52,164,101, + 52,164,101, 52,164,101, 52,164,101, 52,164,101, 52,164,101, 52,164, + 101, 52,164,101, 52,164,101, 52,164,101, 52,255, 0,255,255, 0,255, + 164,101, 52,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,164,101, 52,215,166,125,215,166,125,215, + 166,125,215,166,125,164,101, 52,255, 0,255,255, 0,255,164,101, 52, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,164,101, 52,215,166,125,215,166,125,215,166,125,215, + 166,125,164,101, 52,255, 0,255,255, 0,255,164,101, 52,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,164,101, 52,215,166,125,215,166,125,215,166,125,215,166,125,164, + 101, 52,255, 0,255,255, 0,255,164,101, 52,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,164,101, + 52,215,166,125,215,166,125,215,166,125,215,166,125,164,101, 52,255, + 0,255,255, 0,255,164,101, 52,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,164,101, 52,215,166, + 125,215,166,125,215,166,125,215,166,125,164,101, 52,255, 0,255,255, + 0,255,164,101, 52,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,164,101, 52,215,166,125,215,166, + 125,215,166,125,215,166,125,164,101, 52,255, 0,255,255, 0,255,164, + 101, 52,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,164,101, 52,215,166,125,215,166,125,215,166, + 125,215,166,125,164,101, 52,255, 0,255,255, 0,255,164,101, 52,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,164,101, 52,215,166,125,215,166,125,215,166,125,215,166, + 125,164,101, 52,255, 0,255,255, 0,255,164,101, 52,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 164,101, 52,215,166,125,215,166,125,215,166,125,215,166,125,164,101, + 52,255, 0,255,255, 0,255,164,101, 52,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,164,101, 52, + 215,166,125,215,166,125,215,166,125,215,166,125,164,101, 52,255, 0, + 255,255, 0,255,164,101, 52,164,101, 52,164,101, 52,164,101, 52,164, + 101, 52,164,101, 52,164,101, 52,164,101, 52,164,101, 52,164,101, 52, + 164,101, 52,164,101, 52,164,101, 52,164,101, 52,255, 0,255,255, 0, + 255,164,101, 52,200,208,212,164,101, 52,164,101, 52,164,101, 52,164, + 101, 52,164,101, 52,164,101, 52,164,101, 52,164,101, 52,200,208,212, + 164,101, 52,200,208,212,164,101, 52,255, 0,255,255, 0,255,164,101, + 52,164,101, 52,164,101, 52,164,101, 52,164,101, 52,164,101, 52,164, + 101, 52,164,101, 52,164,101, 52,164,101, 52,164,101, 52,164,101, 52, + 164,101, 52,164,101, 52,255, 0,255,255, 0,255,255, 0,255,255, 0, + 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, + 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255, + 255, 0,255,255, 0,255); + diff --git a/examples/apps/debugserver/images/extended_view.bmp b/examples/apps/debugserver/images/extended_view.bmp Binary files differnew file mode 100644 index 00000000..d137c6c4 --- /dev/null +++ b/examples/apps/debugserver/images/extended_view.bmp diff --git a/examples/apps/docedit/extrafpc.cfg b/examples/apps/docedit/extrafpc.cfg index 775d592f..7c0fe0a0 100644 --- a/examples/apps/docedit/extrafpc.cfg +++ b/examples/apps/docedit/extrafpc.cfg @@ -3,3 +3,7 @@ -Xs -XX -CX +#ifdef mswindows +-WG +#endif + diff --git a/examples/apps/globe/extrafpc.cfg b/examples/apps/globe/extrafpc.cfg index bf32f456..49dd2ec7 100644 --- a/examples/apps/globe/extrafpc.cfg +++ b/examples/apps/globe/extrafpc.cfg @@ -4,3 +4,7 @@ -Xs -XX -CX +#ifdef mswindows +-WG +#endif + diff --git a/examples/apps/globe/frm_main.pas b/examples/apps/globe/frm_main.pas index 76775a4b..ef80f2f7 100644 --- a/examples/apps/globe/frm_main.pas +++ b/examples/apps/globe/frm_main.pas @@ -579,7 +579,7 @@ procedure TGlobe.DrawGrid; var temp: integer; begin - Canvas.Color := TfpgColor($8080FF); // clGray; + Canvas.Color := TfpgColor($FF8080FF); // clGray; Canvas.SetLineStyle(0, lsDash); { Parallels } temp := Wfi; @@ -672,12 +672,8 @@ end; procedure TGlobe.HandlePaint; begin - Canvas.BeginDraw; Canvas.Clear(clWindowBackground); -// R := Width div 2; - // inherited HandlePaint; DrawGlobe; - Canvas.EndDraw; end; constructor TGlobe.Create(AOwner: TComponent); diff --git a/examples/apps/ide/src/extrafpc.cfg b/examples/apps/ide/src/extrafpc.cfg index 90e167a9..2132065d 100644 --- a/examples/apps/ide/src/extrafpc.cfg +++ b/examples/apps/ide/src/extrafpc.cfg @@ -4,3 +4,7 @@ -Xs -XX -CX +#ifdef mswindows +-WG +#endif + diff --git a/examples/apps/ide/src/fpg_textedit.pas b/examples/apps/ide/src/fpg_textedit.pas index 013ad86b..3e88f3d1 100644 --- a/examples/apps/ide/src/fpg_textedit.pas +++ b/examples/apps/ide/src/fpg_textedit.pas @@ -2412,7 +2412,7 @@ begin BuffList[I] := SLine; end; end; - BuffList.SaveToFile(AFileName); + BuffList.SaveToFile(fpgToOSEncoding(AFileName)); finally BuffList.Free; end; @@ -2423,7 +2423,7 @@ begin if not fpgFileExists(AFileName) then Exit; //==> Clear; - FLines.LoadFromFile(AFileName); + FLines.LoadFromFile(fpgToOSEncoding(AFileName)); HandleResize(Width, Height); Invalidate; end; diff --git a/examples/apps/ide/src/frm_main.pas b/examples/apps/ide/src/frm_main.pas index 6ef73f50..fe903c31 100644 --- a/examples/apps/ide/src/frm_main.pas +++ b/examples/apps/ide/src/frm_main.pas @@ -168,7 +168,7 @@ uses ,UnitList ,BuilderThread {$IFDEF DEBUGSVR} - ,dbugintf + ,fpg_dbugintf {$ENDIF} ,ideutils ; @@ -856,7 +856,7 @@ const + '|xor|repeat|until|constref|stdcall|cdecl|external|generic|specialize)\b'; cComments1 = '(\s*\/\/.*$)|(\{[^\{]*\})'; - cComments2 = '\{[^\{]*\}'; + cComments2 = '\{[^\$][^\{]*\}'; cDefines1 = '\{\$[^\{]*\}'; @@ -892,6 +892,7 @@ begin if not Assigned(FKeywordFont) then FKeywordFont := fpgGetFont(edt.FontDesc + ':bold'); ACanvas.Font := FKeywordFont; + ACanvas.Color := clWhite; FRegex.Expression := cKeywords1; FRegex.ModifierI := True; if FRegex.Exec(ALineText) then @@ -912,6 +913,7 @@ begin { syntax highlighting for: cDecimal } ACanvas.TextColor := clNavy; + ACanvas.Color := clWhite; FRegex.Expression := cDecimal; if FRegex.Exec(ALineText) then begin @@ -929,6 +931,7 @@ begin { syntax highlighting for: cHexadecimal } ACanvas.TextColor := clMagenta; + ACanvas.Color := clWhite; FRegex.Expression := cHexadecimal; if FRegex.Exec(ALineText) then begin @@ -946,6 +949,7 @@ begin { syntax highlighting for: comments2 } ACanvas.TextColor := clDarkCyan; + ACanvas.Color := clWhite; FRegex.Expression := cComments2; if FRegex.Exec(ALineText) then begin @@ -963,6 +967,7 @@ begin { syntax highlighting for: cDefines1 } ACanvas.TextColor := clRed; + ACanvas.Color := clWhite; FRegex.Expression := cDefines1; if FRegex.Exec(ALineText) then begin @@ -980,6 +985,7 @@ begin { syntax highlighting for: cString1 } ACanvas.TextColor := clOlive; + ACanvas.Color := clWhite; FRegex.Expression := cString1; if FRegex.Exec(ALineText) then begin @@ -997,6 +1003,7 @@ begin { syntax highlighting for: comments1 } ACanvas.TextColor := clDarkCyan; + ACanvas.Color := clWhite; FRegex.Expression := cComments1; if FRegex.Exec(ALineText) then begin diff --git a/examples/apps/ide/src/maximus.lpi b/examples/apps/ide/src/maximus.lpi index 5d3e289a..accb3570 100644 --- a/examples/apps/ide/src/maximus.lpi +++ b/examples/apps/ide/src/maximus.lpi @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <CONFIG> <ProjectOptions> <Version Value="9"/> diff --git a/examples/apps/ide/src/maximus.lpr b/examples/apps/ide/src/maximus.lpr index 1f758a43..cf9c439f 100644 --- a/examples/apps/ide/src/maximus.lpr +++ b/examples/apps/ide/src/maximus.lpr @@ -22,10 +22,29 @@ uses {$IFDEF UNIX} cthreads, {$ENDIF} - Classes, fpg_base, fpg_main, frm_main, frm_configureide, ideconst, idemacros, - frm_debug, project, unitlist, frm_projectoptions, ideutils, builderthread, - ideimages, stringhelpers, frm_procedurelist, mPasLex, filemonitor, SynRegExpr, - fpg_textedit, frm_find, Sha1; + Classes, + fpg_base, + fpg_main, + fpg_cmdlineparams, + frm_main, + frm_configureide, + ideconst, + idemacros, + frm_debug, + project, + unitlist, + frm_projectoptions, + ideutils, + builderthread, + ideimages, + stringhelpers, + frm_procedurelist, + mPasLex, + filemonitor, + SynRegExpr, + fpg_textedit, + frm_find, + Sha1; procedure MainProc; diff --git a/examples/apps/nanoedit/extrafpc.cfg b/examples/apps/nanoedit/extrafpc.cfg index 97a53282..8fdb5d9b 100644 --- a/examples/apps/nanoedit/extrafpc.cfg +++ b/examples/apps/nanoedit/extrafpc.cfg @@ -4,3 +4,7 @@ -Xs -XX -CX +#ifdef mswindows +-WG +#endif + diff --git a/examples/apps/nanoedit/mainfrm.pas b/examples/apps/nanoedit/mainfrm.pas index 5cece909..f652e179 100644 --- a/examples/apps/nanoedit/mainfrm.pas +++ b/examples/apps/nanoedit/mainfrm.pas @@ -40,6 +40,7 @@ type procedure miPasteClicked(Sender: TObject); procedure btnGOClick(Sender: TObject); procedure memEditorChanged(Sender: TObject); + procedure UpdateStatus(const AMessage: TfpgString); public procedure AfterCreate; override; end; @@ -67,7 +68,7 @@ begin s := StringReplace(s, 'file://', '', []); memEditor.LoadFromFile(s); FFilename := s; - lblStatusText.Text := FFilename; + UpdateStatus(FFilename); end; end; @@ -79,8 +80,9 @@ begin try if dlg.RunOpenFile then begin - memEditor.Lines.LoadFromFile(dlg.FileName); + memEditor.LoadFromFile(dlg.FileName); FFileName := dlg.FileName; + UpdateStatus(FFileName); end; finally dlg.Free; @@ -97,7 +99,8 @@ begin dlg.FileName := FFilename; if dlg.RunSaveFile then begin - memEditor.Lines.SaveToFile(dlg.FileName); + memEditor.SaveToFile(dlg.FileName); + UpdateStatus(Format('<%s> successfully saved.', [FFileName])); end; finally dlg.Free; @@ -116,7 +119,7 @@ begin begin memEditor.Lines.SaveToFile(dlg.FileName); FFilename := dlg.FileName; - lblStatusText.Text := FFilename; + UpdateStatus(Format('<%s> successfully saved.', [FFileName])); end; finally dlg.Free; @@ -223,6 +226,11 @@ begin } end; +procedure TMainForm.UpdateStatus(const AMessage: TfpgString); +begin + lblStatusText.Text := AMessage; +end; + procedure TMainForm.AfterCreate; begin {@VFD_BODY_BEGIN: MainFrom} |