diff --git a/harbour/ChangeLog b/harbour/ChangeLog index cceae61615..cacd9b471d 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,44 @@ past entries belonging to author(s): Viktor Szakats. */ +2010-02-09 18:25 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com) + + contrib/hbide/docs + + contrib/hbide/docs/idemainpage.html + + contrib/hbide/docs/interfaceelements.html + + contrib/hbide/docs/multiviews.html + + * contrib/hbide/resources/help.png + + * contrib/hbide/hbide.prg + * contrib/hbide/ideactions.prg + * contrib/hbide/idedocks.prg + * contrib/hbide/ideobject.prg + + + Implemented basics of ib-build help mechanism. + It is working in a limited manner and is scheduled to be + matured in next few days, at-least from operations + point-of-view. QtextBrowser() accepts a sub-set of + html commands and hence is very limited in appearnce. + As we have decided against QtWebkit, this implementation + may not look highly professional, will surely solve + our purpose. + + If someone is willing to extend help in this direction, + then following are the guidelines how you should design + html page: + 1. Open Qt Creator + 2. Create a widget in the designer. + 3. Place a QTextBrowser control somewhere. + 4. Double-click within the control. + 5. A rich-text editing box will appear. + 6. Design the page. + 7. Click on the "Source" tab at the bottom. + 8. Select the whole source with Ctrl+A and copy with Ctrl+C. + 9. Create a .html file with notepad, paste the source, and save. + + The process is lengthy, but no other html editor solves our + purpose due to limited html tags availability in QTextBrowser. + 2010-02-09 21:57 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * include/hbdefs.h + Added more info on HB_SIZE/HB_ISIZ future plans. diff --git a/harbour/contrib/hbide/docs/idemainpage.html b/harbour/contrib/hbide/docs/idemainpage.html new file mode 100644 index 0000000000..5fbb1f8d67 --- /dev/null +++ b/harbour/contrib/hbide/docs/idemainpage.html @@ -0,0 +1,16 @@ + + +

hbIDE Help

+

+

This effort may not bring desired results but hopefully solve some of the issues supporting the project.

+

+

Interface Elements

+

Multi Views

+

+

+

Please bear with me if things appear to be simple.

+

+

Pritpal Bedi

+

_a_student_of_software_analysis_&_design

diff --git a/harbour/contrib/hbide/docs/interfaceelements.html b/harbour/contrib/hbide/docs/interfaceelements.html new file mode 100644 index 0000000000..deda049274 --- /dev/null +++ b/harbour/contrib/hbide/docs/interfaceelements.html @@ -0,0 +1,15 @@ + + +

Interface Elements

+

+

hbIDE interface contains

+

+

1. Main Frame

+

2. Menubar

+

3. Toolbar

+

4. Statusbar

+

5. Left docking Project Tree

+

6. Left docking Tabs Tree

+

diff --git a/harbour/contrib/hbide/docs/multiviews.html b/harbour/contrib/hbide/docs/multiviews.html new file mode 100644 index 0000000000..13438fd4c8 --- /dev/null +++ b/harbour/contrib/hbide/docs/multiviews.html @@ -0,0 +1,10 @@ + + +

Multi Views

+

+

hbIDE interface provides multiple views to organize your sources in a convenient way. The creation of a panel is a few clicks away. Switching is even simple.

+

+

+

diff --git a/harbour/contrib/hbide/hbide.prg b/harbour/contrib/hbide/hbide.prg index 1607707cd0..a5ef8c08f8 100644 --- a/harbour/contrib/hbide/hbide.prg +++ b/harbour/contrib/hbide/hbide.prg @@ -121,6 +121,7 @@ CLASS HbIde DATA oThemes DATA oFindInFiles DATA oDockFind + DATA oHelp DATA oUI @@ -152,6 +153,7 @@ CLASS HbIde DATA qFontWrkProject DATA qBrushWrkProject DATA qProcess + DATA qHelpBrw ACCESS oCurEditor INLINE ::oEM:getEditorCurrent() ACCESS qCurEdit INLINE ::oEM:getEditCurrent() @@ -309,8 +311,7 @@ METHOD HbIde:create( cProjIni ) ::oAC:buildToolBar() /* Main Menu */ ::oAC:buildMainMenu() - /* StatusBar */ -// ::oDK:buildStatusBar() + /* Docking Widgets */ ::oDK:buildDockWidgets() @@ -518,7 +519,9 @@ METHOD HbIde:execAction( cKey ) CASE "ToggleFuncList" ::execWindowsAction( cKey ) EXIT - + CASE "Help" + ::oHelp:show() + EXIT ENDSWITCH ::manageFocusInEditor() @@ -610,8 +613,6 @@ METHOD HbIde:execEditorAction( cKey ) EXIT CASE "MatchPairs" // - //::oDockFind:show() - ::oStackedWidget:oWidget:setCurrentIndex( iif( ::oStackedWidget:oWidget:currentIndex() == 1, 0, 1 ) ) EXIT CASE "InsertSeparator" ::oEM:insertSeparator() diff --git a/harbour/contrib/hbide/ideactions.prg b/harbour/contrib/hbide/ideactions.prg index b2887e9b51..83a9f85441 100644 --- a/harbour/contrib/hbide/ideactions.prg +++ b/harbour/contrib/hbide/ideactions.prg @@ -206,6 +206,7 @@ METHOD IdeActions:loadActions() aadd( aAct, { "TB_ZoomIn" , "ZoomIn" , "zoomin" , "" , "No", "Yes" } ) aadd( aAct, { "TB_ZoomOut" , "ZoomOut" , "zoomout" , "" , "No", "Yes" } ) // + aadd( aAct, { "Help" , "~Help" , "help" , "F1" , "No", "Yes" } ) aadd( aAct, { "Exit" , "E~xit" , "exit" , "Sh+^W", "No", "Yes" } ) aadd( aAct, { "New" , "~Source" , "new" , "^N" , "No", "Yes" } ) aadd( aAct, { "Open" , "~Open" , "open" , "^O" , "No", "Yes" } ) @@ -318,6 +319,7 @@ METHOD IdeActions:buildToolBar() oTBar:buttonClick := {|oButton| ::oIde:execAction( oButton:key ) } oTBar:addItem( ::getAction( "TB_Exit" ), , , , , , "Exit" ) + oTBar:addItem( ::getAction( "Help" ), , , , , , "Help" ) oTBar:addItem( , , , , , nSep ) oTBar:addItem( ::getAction( "TB_New" ), , , , , , "New" ) oTBar:addItem( ::getAction( "TB_Open" ), , , , , , "Open" ) diff --git a/harbour/contrib/hbide/idedocks.prg b/harbour/contrib/hbide/idedocks.prg index 380ef22bb5..c483c72e19 100644 --- a/harbour/contrib/hbide/idedocks.prg +++ b/harbour/contrib/hbide/idedocks.prg @@ -81,6 +81,7 @@ CLASS IdeDocks INHERIT IdeObject METHOD destroy() METHOD execEvent( nMode, p ) METHOD setView( cView ) + METHOD buildHelpWidget() METHOD buildDialog() METHOD buildViewWidget() METHOD buildStackedWidget() @@ -296,7 +297,8 @@ METHOD IdeDocks:buildDockWidgets() ::buildCompileResults() ::buildLinkResults() ::buildOutputResults() - //::buildFindInFiles() + * ::buildFindInFiles() + ::buildHelpWidget() ::oDlg:oWidget:tabifyDockWidget( ::oDockB:oWidget , ::oDockB1:oWidget ) ::oDlg:oWidget:tabifyDockWidget( ::oDockB1:oWidget, ::oDockB2:oWidget ) @@ -432,6 +434,38 @@ METHOD IdeDocks:buildFuncList() /*----------------------------------------------------------------------*/ +METHOD IdeDocks:buildHelpWidget() + STATIC qUrl + + IF empty( qUrl ) + qUrl := QUrl():new( "docs/idemainpage.html" ) + ENDIF + + ::oIde:oHelp := XbpWindow():new() + ::oHelp:oWidget := QDockWidget():new( ::oDlg:oWidget ) + ::oHelp:oWidget:setObjectName( "dockHelp" ) + ::oDlg:addChild( ::oHelp ) + ::oHelp:oWidget:setFeatures( QDockWidget_DockWidgetClosable ) + ::oHelp:oWidget:setAllowedAreas( Qt_RightDockWidgetArea ) + ::oHelp:oWidget:setWindowTitle( "hbIDE Help" ) + ::oHelp:oWidget:setFocusPolicy( Qt_NoFocus ) + + ::oIde:qHelpBrw := QTextBrowser():new( ::oHelp:oWidget ) + ::oIde:qHelpBrw:show() + ::oIde:qHelpBrw:setOpenExternalLinks( .t. ) + ::qHelpBrw:setSource( qUrl ) + + ::oHelp:oWidget:setWidget( ::oIde:qHelpBrw ) + + // ::oHelp:connect( ::qHelpBrw ) + + ::oDlg:oWidget:addDockWidget_1( Qt_RightDockWidgetArea, ::oHelp:oWidget, Qt_Horizontal ) + ::oHelp:hide() + + RETURN Self + +/*----------------------------------------------------------------------*/ + METHOD IdeDocks:buildCompileResults() ::oIde:oDockB := XbpWindow():new() diff --git a/harbour/contrib/hbide/ideobject.prg b/harbour/contrib/hbide/ideobject.prg index 5c821af800..3d3d10be86 100644 --- a/harbour/contrib/hbide/ideobject.prg +++ b/harbour/contrib/hbide/ideobject.prg @@ -111,6 +111,7 @@ CLASS IdeObject ACCESS oTabParent INLINE ::oIde:oTabParent ACCESS qBrushWrkProject INLINE ::oIde:qBrushWrkProject ACCESS qViewsCombo INLINE ::oIde:qViewsCombo + ACCESS qHelpBrw INLINE ::oIde:qHelpBrw ACCESS cWrkProject INLINE ::oIde:cWrkProject ACCESS cWrkTheme INLINE ::oIde:cWrkTheme @@ -156,6 +157,7 @@ CLASS IdeObject ACCESS oOutputResult INLINE ::oIde:oOutputResult ACCESS oStackedWidget INLINE ::oIde:oStackedWidget ACCESS oFrame INLINE ::oIde:oFrame + ACCESS oHelp INLINE ::oIde:oHelp ACCESS lProjTreeVisible INLINE ::oIde:lProjTreeVisible ACCESS lDockRVisible INLINE ::oIde:lDockRVisible diff --git a/harbour/contrib/hbide/resources/help.png b/harbour/contrib/hbide/resources/help.png new file mode 100644 index 0000000000..fcdfb43ca5 Binary files /dev/null and b/harbour/contrib/hbide/resources/help.png differ