Use Windows.pkg Use Dftreevw.pkg Use cCJToolPanel.pkg Use Tools\cOutputDialog.pkg Object oOutputPane is a cCJToolPanel Set Size to 88 286 Set piMinSize to 80 286 Set peBarPosition to xtpBarBottom Set psLabel to "Output" Set pbResizable to True Set pbScopeToView to False Set Border_Style to Border_None Move (Self) to ghoOutputPane On_Key kCancel Send CloseOutputPane Procedure OnCreateToolPanel Boolean bVisible Forward Send OnCreateToolPanel Get pbOutputPaneVisible of ghoEditorProperties to bVisible Set ComVisible to bVisible End_Procedure // Procedure CloseOutputPane Boolean bVisible Boolean bCloseOnEscape Get pbCloseOutputPaneOnEscape of ghoEditorProperties to bCloseOnEscape If (bCloseOnEscape and ghoOutputPane<>0) Begin Get ComVisible of ghoOutputPane to bVisible If (bVisible) Begin Send CAOutputPaneToggle of oClientArea End End End_Procedure // CloseOutputPane Object oOutputDialog is a cOutputDialog Set Size to 85 283 // Object oBuildPage is a TabPage Set piImageIndex to 0 Set Label to "Build" //"W" Set Tab_ToolTip_Value to 'Build' // Object oMessages is a cObject End_Object // Object oCompilerInfo is a TreeView Property Handle phRoot 0 Property String psLastWarning "" Property tDFCompileOutput[] ptDFCompileOutput Property String[] psErrors Set Size to 81 302 Set Location to 0 0 Set peAnchors to anAll Set piBackColor to gtColorer[EC_TEXT].iBackC Set piTextColor to gtColorer[EC_TEXT].iForeC Set piLineColor to gtColorer[EC_TEXT].iForeC Object oImageList is a cImageList32 Set piMaxImages to 3 Procedure OnCreate // add the images Integer iImage Get AddBitmap 'Compile16.bmp' clFuchsia to iImage Get AddBitmap 'Include16.bmp' clFuchsia to iImage Get AddBitmap 'Warning16.bmp' clFuchsia to iImage Get AddBitmap 'Error16.bmp' clFuchsia to iImage Get AddBitmap 'Stop16.bmp' clFuchsia to iImage Get AddBitmap 'Build16.bmp' clFuchsia to iImage Get AddBitmap 'Run16.bmp' clFuchsia to iImage End_Procedure End_Object Set ImageListObject to (oImageList(Self)) Register_Object oEdit Procedure OnItemDblClick Handle hItem Boolean ByRef bCancel Integer iData String sPathFile Handle hoClient hoEditor tDFCompileOutput[] ltDFCompileOutput // Get Client_Id to hoClient If (hItem<>0) Begin Get ItemData hItem to iData Get ptDFCompileOutput to ltDFCompileOutput If (SizeOfArray(ltDFCompileOutput)) Begin Get FileNameOnDisk ltDFCompileOutput[iData].sFile to sPathFile Send CAOpenFile of hoClient sPathFile Get FindViewByFileName of hoClient sPathFile to hoEditor If (hoEditor) Begin Send Activate to (oEdit(hoEditor)) If (ltDFCompileOutput[iData].iLine) Begin Send GotoLine to (oEdit(hoEditor)) (ltDFCompileOutput[iData].iLine-1) Get CM_SetHighlightedLine of (oEdit(hoEditor)) (ltDFCompileOutput[iData].iLine-1) to iData End End End End End_Procedure Procedure Delete_Data tDFCompileOutput[] ltDFCompileOutput String[] lasErrors Send ClearAll Set phRoot to 0 Set ptDFCompileOutput to ltDFCompileOutput Set psLastWarning to "" Set psErrors to lasErrors End_Procedure Procedure mStart String sLabel Handle hRoot Send Delete_Data Get AddTreeItem sLabel 0 0 0 0 to hRoot Set phRoot to hRoot End_Procedure Function LabelData String sLabel Returns Integer tDFCompileOutput[] ltDFCompileOutput String sTemp sLine sFile Integer iItem // Get ptDFCompileOutput to ltDFCompileOutput Move 0 to iItem // Move (Uppercase(Trim(sLabel))) to sLabel If (sLabel contains "COMPILING PROGRAM:") Begin Move (Left(sLabel, 19)) to sTemp Move (Replace(sTemp, sLabel, "")) to sLabel Move sLabel to sFile End If (sLabel contains "INCLUDING FILE:") Begin Move (Left(sLabel, Pos('(', sLabel))) to sTemp Move (Replace(sTemp, sLabel, "")) to sLabel Move (Left(sLabel, Length(sLabel)-1)) to sLabel If (sLabel contains ".PKD") Begin Move (Replace(".PKD", sLabel, ".PKG")) to sLabel End Move sLabel to sFile End If (sLabel contains "ON LINE:") Begin // Line Move (Left(sLabel, Pos('ON LINE:', sLabel)+8)) to sTemp Move (Trim(Replace(sTemp, sLabel, ""))) to sLabel Move (Trim(Left(sLabel, Pos('(', sLabel)-1))) to sTemp Move (Trim(Replace(sTemp, sLabel, ""))) to sLabel Move sTemp to sLine Move (Left(sLabel, Pos('OF FILE:', sLabel)+8)) to sTemp Move (Trim(Replace(sTemp, sLabel, ""))) to sLabel Move sLabel to sFile End If (sFile<>"") Begin Move (SizeOfArray(ltDFCompileOutput)) to iItem Move sFile to ltDFCompileOutput[iItem].sFile Move sLine to ltDFCompileOutput[iItem].iLine End // Set ptDFCompileOutput to ltDFCompileOutput // Function_Return iItem End_Function Procedure AddMessage String sLabel Integer iImg Handle hRoot Integer iData String[] lasErrors If (iImg<>2) Begin Get phRoot to hRoot Get psErrors to lasErrors Get AddTreeItem sLabel hRoot 0 iImg iImg to hRoot Get LabelData sLabel to iData Set ItemData hRoot to iData Send DoMakeItemFirstVisible hRoot If (iImg=3) Begin If (psLastWarning(Self)<>"") Begin Get AddTreeItem (psLastWarning(Self)) hRoot 0 2 2 to hRoot Set ItemData hRoot to iData End Move sLabel to lasErrors[SizeOfArray(lasErrors)] End Set psLastWarning to "" Set psErrors to lasErrors End Else Set psLastWarning to sLabel End_Procedure Procedure mFinish String sLabel Handle hRoot hItem Integer iError iErrors iData String[] lasErrors Get psErrors to lasErrors Get phRoot to hRoot Get AddTreeItem sLabel hRoot 0 4 4 to hItem Send DoMakeItemFirstVisible hItem Move (SizeOfArray(lasErrors)) to iErrors If iErrors Begin Get AddTreeItem ("----"*_T("Compiler Error Summary", 464)*"----") hRoot 0 3 3 to hRoot For iError from 0 to (iErrors-1) Get LabelData lasErrors[iError] to iData Get AddTreeItem lasErrors[iError] hRoot 0 3 3 to hItem Set ItemData hItem to iData Send DoMakeItemFirstVisible hItem Send DoMakeItemFirstVisible hRoot Loop End End_Procedure Procedure End_Construct_Object Forward Send End_Construct_Object Get Object_Id to ghoCompilerInfo End_Procedure End_Object End_Object End_Object Object oErrors is an Array Object oTabFindObjects is an Array End_Object Object oTabPage1 is an Array Object oErrorList is an Array End_Object End_Object End_Object Procedure ColorsLikeEdit Handle hTarget hoPage hoTabDlg // Build Page Move (oCompilerInfo(oBuildPage(oOutputDialog(Self)))) to hTarget Set TextColor of hTarget to gtColorer[EC_TEXT].iForeC Set Color of hTarget to gtColorer[EC_TEXT].iBackC Set piTextColor of hTarget to gtColorer[EC_TEXT].iForeC Set piBackColor of hTarget to gtColorer[EC_TEXT].iBackC Set piLineColor of hTarget to gtColorer[EC_TEXT].iForeC // Possible Search Result Pages Integer iPage iPages Move (oOutputDialog(Self)) to hoTabDlg Get Item_Count of hoTabDlg to iPages If (iPages>1) Begin For iPage from 1 to (iPages-1) Get tab_page_id of hoTabDlg item iPage to hoPage If hoPage Begin Move (oMessages(hoPage)) to hoPage Set piTextColor of hoPage to gtColorer[EC_TEXT].iForeC Set piBackColor of hoPage to gtColorer[EC_TEXT].iBackC Set piLineColor of hoPage to gtColorer[EC_TEXT].iForeC End Loop End End_Procedure #IFDEF TH_TRANSLATION Procedure Translate Handle hBuild Move (oBuildPage(oOutputDialog(Self))) to hBuild Set Label of hBuild to gILanguage[462] Set Tab_ToolTip_Value of hBuild to gILanguage[463] End_Procedure #ENDIF End_Object // oOutputPane