Hi! I finished drafting the codes for the hbIDE and would like to send to Pritpal for analysis, a brief summary of the changes that I made:
IsValidText() some more valid extensions added editSource() message appears if the file open is not supported. loadIni() implemented support for RecentFiles & RECENTPROJECTS sections. Optimized support for section names regardless of case used. Enhanced with SWITCH instead of CASE. Optimized initialization oide:Aini regardless of the amount expected items in the file. INI Implemented a basic validation to ignore invalid sections in the file. INI * I drew a few new icons for the menu of the application. FILE > recent files -> implementation done. FILE > recent projects -> implementation done. FILE > SAVE AND EXIT -> implementation done. FILE > OPEN - supports opening multiple files FILE > REVERT -> implementation done. findEditByFileName() - new method to Find an item in aEdits[] based on the file name passed as argument. findEditByID() - new method to Find an item in aEdits[] based on the ID passed as argument. HbIde:closeAllSources() implementation done. HbIde:closeSource() rewritten to support the closeAllSources() method HbIde:closeAllOther() -> implementation done. HbIde:saveSourceAs() -> implementation done. HbIde:updateTitleBar() - New method to updates the title bar of the main window, indicating the project and the current filename. HELP > About - implementation done. HELP > Harbour on line - implementation done. HELP > HB Users Mailing - implementation done. HELP > HB Developers Mailing - implementation done. EDIT menu items were attached to the existing options in ::executeAction() IdeFindReplace:show() -> Detect if current edit has any selected text. Something is not right because when I click the close button to close the main window and he asks me if I want to save the files and when I click CANCEL it has to abort the process and not close the system as it is occurring. hbide now displays the text "Untitled XX" on creating a new file. Fixed in hbxbp method that ignored the list of filters defined. [code] METHOD XbpFileDialog:saveAs( cDefaultFile, lFileList, lCenter ) LOCAL nResult, oList, i DEFAULT lFileList TO .T. DEFAULT cDefaultExt TO '' IF !( hb_isLogical( lCenter ) ) lCenter := ::center ENDIF ::oWidget:setAcceptMode( QFileDialog_AcceptSave ) IF !empty( ::defExtension ) ::oWidget:setDefaultSuffix( ::defExtension ) ENDIF IF hb_isChar( ::title ) ::oWidget:setWindowTitle( ::title ) ENDIF IF hb_isChar( cDefaultFile ) ::oWidget:setDirectory( cDefaultFile ) ENDIF IF empty( ::fileFilters ) ::oWidget:setNameFilter( "All File (*.*)" ) ELSE IF len( ::fileFilters ) == 1 ::oWidget:setNameFilter( Xbp_ArrayToFileFilter( ::fileFilters[ 1 ] ) ) ELSE oList := QStringList():new() FOR i := 1 TO len( ::fileFilters ) oList:append( Xbp_ArrayToFileFilter( ::fileFilters[ i ] ) ) NEXT ::oWidget:setNameFilters( oList ) ENDIF ENDIF // oStyle := QApplication():style() // ::oWidget:setStyle( oStyle ) ::setStyle() IF !( lCenter ) ::setPos() ENDIF nResult := ::oWidget:exec() RETURN IF( nResult == QDialog_Accepted, ::extractFileNames(), NIL ) [/code] Unfortunately I lacked the time to merge these changes with the Viktor sent to the list today. In my opinion, to the main menu items are completed missing very little. I waiting for comments and suggestions and hope that these changes may be helpful. Download at: http://kssoftware.com.br/hbide.4.zip Regards, Vailton Renato _______________________________________________ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour