From 09d4e527d118a18298bf8a43ffb3e6275327b9be Mon Sep 17 00:00:00 2001 From: Pritpal Bedi Date: Wed, 18 Jul 2012 08:37:02 +0000 Subject: [PATCH] 2012-07-18 01:29 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbide/hbide.qrc + contrib/hbide/resources/maximize.png + contrib/hbide/resources/maximize_all.png + contrib/hbide/resources/minimize.png + contrib/hbide/resources/minimize_all.png + Added: more images. * contrib/hbide/ideprojectwizard.prg * contrib/hbide/projectwizard.ui ! Advanced: user interface is almost done and is ready for final show-down. Please review the working of the components. ; QUESTION: should everything go inside .hbp or should I introduce templates to hold the project sections and be reloadable by 1) only switches and parameters, 2) sources also. --- harbour/ChangeLog | 17 + harbour/contrib/hbide/hbide.qrc | 592 +++++++++--------- harbour/contrib/hbide/ideprojectwizard.prg | 322 ++++++---- harbour/contrib/hbide/projectwizard.ui | 84 ++- harbour/contrib/hbide/resources/maximize.png | Bin 0 -> 2072 bytes .../contrib/hbide/resources/maximize_all.png | Bin 0 -> 1169 bytes harbour/contrib/hbide/resources/minimize.png | Bin 0 -> 2101 bytes .../contrib/hbide/resources/minimize_all.png | Bin 0 -> 975 bytes 8 files changed, 592 insertions(+), 423 deletions(-) create mode 100644 harbour/contrib/hbide/resources/maximize.png create mode 100644 harbour/contrib/hbide/resources/maximize_all.png create mode 100644 harbour/contrib/hbide/resources/minimize.png create mode 100644 harbour/contrib/hbide/resources/minimize_all.png diff --git a/harbour/ChangeLog b/harbour/ChangeLog index ea94778bee..8af58046eb 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,23 @@ The license applies to all entries newer than 2009-04-28. */ +2012-07-18 01:29 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) + * contrib/hbide/hbide.qrc + + contrib/hbide/resources/maximize.png + + contrib/hbide/resources/maximize_all.png + + contrib/hbide/resources/minimize.png + + contrib/hbide/resources/minimize_all.png + + Added: more images. + + * contrib/hbide/ideprojectwizard.prg + * contrib/hbide/projectwizard.ui + ! Advanced: user interface is almost done and is ready for + final show-down. Please review the working of the components. + + ; QUESTION: should everything go inside .hbp or should I introduce + templates to hold the project sections and be reloadable + by 1) only switches and parameters, 2) sources also. + 2012-07-18 09:41 UTC+0200 Viktor Szakats (harbour syenar.net) * contrib/hbide/resources/collapse_m.png * contrib/hbide/resources/expand_m.png diff --git a/harbour/contrib/hbide/hbide.qrc b/harbour/contrib/hbide/hbide.qrc index b3d7b64bfe..d1cde7e807 100644 --- a/harbour/contrib/hbide/hbide.qrc +++ b/harbour/contrib/hbide/hbide.qrc @@ -1,295 +1,299 @@ - - -resources/arguments.png -resources/blockcomment.png -resources/blockindentl.png -resources/blockindentr.png -resources/bookmark.png -resources/browser.png -resources/build.png -resources/builderror.png -resources/buildlaunch.png -resources/buildrun.png -resources/buildsource.png -resources/check.png -resources/clean.png -resources/cleanrun.png -resources/close.png -resources/close3.png -resources/closeall.png -resources/closeexcept.png -resources/closetab.png -resources/codeskeletons.png -resources/column.png -resources/compile.png -resources/copy-filname.png -resources/copy.png -resources/curlinehilight.png -resources/cut.png -resources/cutb16.png -resources/database.png -resources/database_accept.png -resources/database_add.png -resources/database_remove.png -resources/database_lock.png -resources/database_process.png -resources/database_up.png -resources/database_down.png -resources/database_previous.png -resources/database_next.png -resources/database_search.png -resources/dbl2sglquote.png -resources/dbstruct.png -resources/dbf_p1.png -resources/dbf_p2.png -resources/dbf_p3.png -resources/dbf_p4.png -resources/dbf_p5.png -resources/dbf_p6.png -resources/dbf_p7.png -resources/dbf_p8.png -resources/dbf_p9.png -resources/dbf_p10.png -resources/dc_delete.png -resources/dc_down.png -resources/dc_folder.png -resources/dc_function.png -resources/dc_home.png -resources/dc_left.png -resources/dc_pdffile.png -resources/dc_plus.png -resources/dc_print.png -resources/dc_quit.png -resources/dc_refresh.png -resources/dc_right.png -resources/dc_textdoc.png -resources/dc_textdocument.png -resources/dc_up.png -resources/debug.png -resources/decreaseindent.png -resources/deleteline.png -resources/description.png -resources/designer.png -resources/docwriter.png -resources/down.png -resources/down16.png -resources/duplicateline.png -resources/editstree.png -resources/envconfig.png -resources/example.png -resources/exit.png -resources/exit3.png -resources/exporthtml.png -resources/ffn.png -resources/filec.png -resources/fileprg.png -resources/find.png -resources/fl_c.png -resources/fl_dll.png -resources/fl_exe.png -resources/fl_ini.png -resources/fl_lib.png -resources/fl_prg.png -resources/fl_res.png -resources/fl_txt.png -resources/file-open.png -resources/folder.png -resources/font.png -resources/formview.png -resources/fullscreen.png -resources/go-bottom.png -resources/go-down.png -resources/go-first.png -resources/go-jump.png -resources/go-last.png -resources/go-next.png -resources/go-prev.png -resources/go-top.png -resources/go-up.png -resources/gotoline.png -resources/gotoline3.png -resources/gotomark.png -resources/grid.png -resources/harbour.png -resources/harbourhelp.png -resources/hb-16x16.png -resources/hb-32x32.png -resources/hbide.png -resources/hbidesplash.png -resources/hbidesplashwatermark.png -resources/help.png -resources/help1.png -resources/helpdoc.png -resources/hilight-all.png -resources/home3.png -resources/horzruler.png -resources/idepreferences.png -resources/increaseindent.png -resources/indent-more.png -resources/indent-less.png -resources/info.png -resources/infotips.png -resources/insert-datetime.png -resources/insert-external-file.png -resources/insert-procname.png -resources/insert-separator.png -resources/invertcase.png -resources/keyboardmappings.png -resources/launch.png -resources/lense.png -resources/list-developers.png -resources/list-users.png -resources/load_1.png -resources/load_2.png -resources/load_3.png -resources/Lookup.png -resources/matchobj.png -resources/minus.png -resources/modulelist.png -resources/movelinedown.png -resources/movelineup.png -resources/new.png -resources/new2.png -resources/next.png -resources/notepad.png -resources/open.png -resources/open2.png -resources/open3.png -resources/panel_1.png -resources/panel_2.png -resources/panel_3.png -resources/panel_4.png -resources/panel_5.png -resources/panel_6.png -resources/panel_7.png -resources/panel_8.png -resources/panel_9.png -resources/panel_10.png -resources/panel_11.png -resources/panel_12.png -resources/panel_13.png -resources/paste.png -resources/placeremovemark.png -resources/ppo.png -resources/previous.png -resources/print.png -resources/project.png -resources/projectadd.png -resources/projectdel.png -resources/projectstree.png -resources/projtree.png -resources/properties.png -resources/readonly.png -resources/rebuild.png -resources/rebuildlaunch.png -resources/redo.png -resources/richtext.png -resources/run.png -resources/runscript.png -resources/runnodebug.png -resources/save.png -resources/save3.png -resources/saveall.png -resources/saveas.png -resources/search.png -resources/selectall.png -resources/selectionline.png -resources/setmain.png -resources/sgl2dblquote.png -resources/sort.png -resources/sortdescend.png -resources/source_c.png -resources/source_cpp.png -resources/source_h.png -resources/source_o.png -resources/source_prg.png -resources/source_res.png -resources/source_txt.png -resources/source_unknown.png -resources/statistics.png -resources/spacestotabs.png -resources/stream.png -resources/streamcomment.png -resources/syntaxhiliter.png -resources/tabcmodified.png -resources/tabmodified.png -resources/tabreadonly.png -resources/tabs.png -resources/tabstospaces.png -resources/tabunmodified.png -resources/tests.png -resources/text.png -resources/thumbnail.png -resources/togglelinenumber.png -resources/tolower.png -resources/tools.png -resources/toupper.png -resources/trashpage.png -resources/undo.png -resources/unload_1.png -resources/up.png -resources/up16.png -resources/view_cascaded.png -resources/view_organized.png -resources/view_tabbed.png -resources/view_tiled.png -resources/view_vertstacked.png -resources/view_horzstacked.png -resources/view_zoomin.png -resources/view_zoomout.png -resources/view_refresh.png -resources/vr-16x16.png -resources/vr.png -resources/xmate.png -resources/zoomin.png -resources/zoomout.png -resources/zoomin3.png -resources/zoomout3.png -resources/f_align_left.png -resources/f_align_right.png -resources/f_align_center.png -resources/f_align_justify.png -resources/f_align_top.png -resources/f_align_middle.png -resources/f_align_bottom.png -resources/f_box_top.png -resources/f_box_left.png -resources/f_box_bottom.png -resources/f_box_right.png -resources/f_box_all.png -resources/f_box_plain.png -resources/f_box_shadow.png -resources/f-generic.png -resources/f-image.png -resources/f_chart.png -resources/f_gradient.png -resources/f_barcode.png -resources/f-bold-1.png -resources/f-italic-1.png -resources/f-underline-1.png -resources/f-strike-1.png -resources/toback.png -resources/tofront.png -resources/r-page.png -resources/r-report.png -resources/r-landscape.png -resources/r-portrait.png -resources/rp_arc.png -resources/rp_chord.png -resources/rp_diamond.png -resources/rp_triangle.png -resources/rp_rectangle.png -resources/rp_roundrectangle.png -resources/rp_linevert.png -resources/rp_linehorz.png -resources/rp_linediagright.png -resources/rp_linediagleft.png -resources/rp_ellipse.png -resources/rp_shapes.png -resources/memo.png -resources/hideshow.png -resources/cuied.png -resources/expand_m.png -resources/collapse_m.png - + + + resources/minimize_all.png + resources/maximize_all.png + resources/maximize.png + resources/minimize.png + resources/arguments.png + resources/blockcomment.png + resources/blockindentl.png + resources/blockindentr.png + resources/bookmark.png + resources/browser.png + resources/build.png + resources/builderror.png + resources/buildlaunch.png + resources/buildrun.png + resources/buildsource.png + resources/check.png + resources/clean.png + resources/cleanrun.png + resources/close.png + resources/close3.png + resources/closeall.png + resources/closeexcept.png + resources/closetab.png + resources/codeskeletons.png + resources/column.png + resources/compile.png + resources/copy-filname.png + resources/copy.png + resources/curlinehilight.png + resources/cut.png + resources/cutb16.png + resources/database.png + resources/database_accept.png + resources/database_add.png + resources/database_remove.png + resources/database_lock.png + resources/database_process.png + resources/database_up.png + resources/database_down.png + resources/database_previous.png + resources/database_next.png + resources/database_search.png + resources/dbl2sglquote.png + resources/dbstruct.png + resources/dbf_p1.png + resources/dbf_p2.png + resources/dbf_p3.png + resources/dbf_p4.png + resources/dbf_p5.png + resources/dbf_p6.png + resources/dbf_p7.png + resources/dbf_p8.png + resources/dbf_p9.png + resources/dbf_p10.png + resources/dc_delete.png + resources/dc_down.png + resources/dc_folder.png + resources/dc_function.png + resources/dc_home.png + resources/dc_left.png + resources/dc_pdffile.png + resources/dc_plus.png + resources/dc_print.png + resources/dc_quit.png + resources/dc_refresh.png + resources/dc_right.png + resources/dc_textdoc.png + resources/dc_textdocument.png + resources/dc_up.png + resources/debug.png + resources/decreaseindent.png + resources/deleteline.png + resources/description.png + resources/designer.png + resources/docwriter.png + resources/down.png + resources/down16.png + resources/duplicateline.png + resources/editstree.png + resources/envconfig.png + resources/example.png + resources/exit.png + resources/exit3.png + resources/exporthtml.png + resources/ffn.png + resources/filec.png + resources/fileprg.png + resources/find.png + resources/fl_c.png + resources/fl_dll.png + resources/fl_exe.png + resources/fl_ini.png + resources/fl_lib.png + resources/fl_prg.png + resources/fl_res.png + resources/fl_txt.png + resources/file-open.png + resources/folder.png + resources/font.png + resources/formview.png + resources/fullscreen.png + resources/go-bottom.png + resources/go-down.png + resources/go-first.png + resources/go-jump.png + resources/go-last.png + resources/go-next.png + resources/go-prev.png + resources/go-top.png + resources/go-up.png + resources/gotoline.png + resources/gotoline3.png + resources/gotomark.png + resources/grid.png + resources/harbour.png + resources/harbourhelp.png + resources/hb-16x16.png + resources/hb-32x32.png + resources/hbide.png + resources/hbidesplash.png + resources/hbidesplashwatermark.png + resources/help.png + resources/help1.png + resources/helpdoc.png + resources/hilight-all.png + resources/home3.png + resources/horzruler.png + resources/idepreferences.png + resources/increaseindent.png + resources/indent-more.png + resources/indent-less.png + resources/info.png + resources/infotips.png + resources/insert-datetime.png + resources/insert-external-file.png + resources/insert-procname.png + resources/insert-separator.png + resources/invertcase.png + resources/keyboardmappings.png + resources/launch.png + resources/lense.png + resources/list-developers.png + resources/list-users.png + resources/load_1.png + resources/load_2.png + resources/load_3.png + resources/Lookup.png + resources/matchobj.png + resources/minus.png + resources/modulelist.png + resources/movelinedown.png + resources/movelineup.png + resources/new.png + resources/new2.png + resources/next.png + resources/notepad.png + resources/open.png + resources/open2.png + resources/open3.png + resources/panel_1.png + resources/panel_2.png + resources/panel_3.png + resources/panel_4.png + resources/panel_5.png + resources/panel_6.png + resources/panel_7.png + resources/panel_8.png + resources/panel_9.png + resources/panel_10.png + resources/panel_11.png + resources/panel_12.png + resources/panel_13.png + resources/paste.png + resources/placeremovemark.png + resources/ppo.png + resources/previous.png + resources/print.png + resources/project.png + resources/projectadd.png + resources/projectdel.png + resources/projectstree.png + resources/projtree.png + resources/properties.png + resources/readonly.png + resources/rebuild.png + resources/rebuildlaunch.png + resources/redo.png + resources/richtext.png + resources/run.png + resources/runscript.png + resources/runnodebug.png + resources/save.png + resources/save3.png + resources/saveall.png + resources/saveas.png + resources/search.png + resources/selectall.png + resources/selectionline.png + resources/setmain.png + resources/sgl2dblquote.png + resources/sort.png + resources/sortdescend.png + resources/source_c.png + resources/source_cpp.png + resources/source_h.png + resources/source_o.png + resources/source_prg.png + resources/source_res.png + resources/source_txt.png + resources/source_unknown.png + resources/statistics.png + resources/spacestotabs.png + resources/stream.png + resources/streamcomment.png + resources/syntaxhiliter.png + resources/tabcmodified.png + resources/tabmodified.png + resources/tabreadonly.png + resources/tabs.png + resources/tabstospaces.png + resources/tabunmodified.png + resources/tests.png + resources/text.png + resources/thumbnail.png + resources/togglelinenumber.png + resources/tolower.png + resources/tools.png + resources/toupper.png + resources/trashpage.png + resources/undo.png + resources/unload_1.png + resources/up.png + resources/up16.png + resources/view_cascaded.png + resources/view_organized.png + resources/view_tabbed.png + resources/view_tiled.png + resources/view_vertstacked.png + resources/view_horzstacked.png + resources/view_zoomin.png + resources/view_zoomout.png + resources/view_refresh.png + resources/vr-16x16.png + resources/vr.png + resources/xmate.png + resources/zoomin.png + resources/zoomout.png + resources/zoomin3.png + resources/zoomout3.png + resources/f_align_left.png + resources/f_align_right.png + resources/f_align_center.png + resources/f_align_justify.png + resources/f_align_top.png + resources/f_align_middle.png + resources/f_align_bottom.png + resources/f_box_top.png + resources/f_box_left.png + resources/f_box_bottom.png + resources/f_box_right.png + resources/f_box_all.png + resources/f_box_plain.png + resources/f_box_shadow.png + resources/f-generic.png + resources/f-image.png + resources/f_chart.png + resources/f_gradient.png + resources/f_barcode.png + resources/f-bold-1.png + resources/f-italic-1.png + resources/f-underline-1.png + resources/f-strike-1.png + resources/toback.png + resources/tofront.png + resources/r-page.png + resources/r-report.png + resources/r-landscape.png + resources/r-portrait.png + resources/rp_arc.png + resources/rp_chord.png + resources/rp_diamond.png + resources/rp_triangle.png + resources/rp_rectangle.png + resources/rp_roundrectangle.png + resources/rp_linevert.png + resources/rp_linehorz.png + resources/rp_linediagright.png + resources/rp_linediagleft.png + resources/rp_ellipse.png + resources/rp_shapes.png + resources/memo.png + resources/hideshow.png + resources/cuied.png + resources/expand_m.png + resources/collapse_m.png + diff --git a/harbour/contrib/hbide/ideprojectwizard.prg b/harbour/contrib/hbide/ideprojectwizard.prg index 033b9768dc..f1b11b8beb 100644 --- a/harbour/contrib/hbide/ideprojectwizard.prg +++ b/harbour/contrib/hbide/ideprojectwizard.prg @@ -94,6 +94,8 @@ CREATE CLASS IdeProjectWizard INHERIT IdeObject METHOD loadSwichesSections() METHOD deleteTreeItem( oChild ) METHOD addTreeItem( oParent ) + METHOD addDropIndicator( oTree, oNode, cMsg, cCSS, nIndex ) + METHOD addSourceFile( cFile ) ENDCLASS @@ -209,7 +211,6 @@ METHOD IdeProjectWizard:show() ::oUI := ui_projectWizard():new( ::oIde:oDlg:oWidget ) ::oUI:oWidget:connect( QEvent_Close, {|| ::oUI:oWidget:done( 0 ) } ) - ::oUI:btnSwPlus : connect( "clicked()", {|| ::execEvent( "btnSw_clicked", "plus" ) } ) ::oUI:btnSwAZ : connect( "clicked()", {|| ::execEvent( "btnSw_clicked", "az" ) } ) ::oUI:btnSwZA : connect( "clicked()", {|| ::execEvent( "btnSw_clicked", "za" ) } ) ::oUI:btnSwUpper : connect( "clicked()", {|| ::execEvent( "btnSw_clicked", "upper" ) } ) @@ -222,12 +223,18 @@ METHOD IdeProjectWizard:show() ::oUI:btnSave : connect( "clicked()", {|| ::execEvent( "btnSave_clicked" ) } ) ::oUI:btnCancel : connect( "clicked()", {|| ::oUI:oWidget:done( 0 ) } ) - ::oUI:toolGetSrc : connect( "clicked()", {|| ::execEvent( "toolGetSrc_clicked" ) } ) + ::oUI:btnSwMax : connect( "clicked()", {|| ::execEvent( "btnSwMax_clicked" ) } ) + ::oUI:btnSwMin : connect( "clicked()", {|| ::execEvent( "btnSwMin_clicked" ) } ) - ::oUI:comboProjType : addItem( "Executable" ) - ::oUI:comboProjType : addItem( "Library" ) + ::oUI:toolSrcGet : connect( "clicked()", {|| ::execEvent( "toolSrcGet_clicked" ) } ) + ::oUI:toolSrcMax : connect( "clicked()", {|| ::execEvent( "toolSrcMax_clicked" ) } ) + ::oUI:toolSrcMin : connect( "clicked()", {|| ::execEvent( "toolSrcMin_clicked" ) } ) + ::oUI:toolSrcDel : connect( "clicked()", {|| ::execEvent( "toolSrcDel_clicked" ) } ) + + ::oUI:comboProjType : addItem( "Executable" ) + ::oUI:comboProjType : addItem( "Library" ) ::oUI:comboProjType : addItem( "DLL - Without HVM" ) - ::oUI:comboProjType : addItem( "DLL - With HVM" ) + ::oUI:comboProjType : addItem( "DLL - With HVM" ) ::oUI:comboGT : addItem( "gtCGI" ) ::oUI:comboGT : addItem( "gtCRS" ) @@ -288,6 +295,12 @@ METHOD IdeProjectWizard:show() ::clear() + + ::oUI:frameSrc:setAcceptDrops( .t. ) + ::oUI:frameSrc:connect( QEvent_DragEnter, {|p| ::execEvent( "frameSrc_dragEnterEvent", p ) } ) + ::oUI:frameSrc:connect( QEvent_DragMove , {|p| ::execEvent( "frameSrc_dragMoveEvent" , p ) } ) + ::oUI:frameSrc:connect( QEvent_Drop , {|p| ::execEvent( "frameSrc_dropEvent" , p ) } ) + ENDIF IF ::loadDefaults() @@ -299,94 +312,30 @@ METHOD IdeProjectWizard:show() /*----------------------------------------------------------------------*/ -STATIC FUNCTION blockBtnClicked( o, cEvent, nAct ) - RETURN {|| o:execEvent( cEvent, nAct ) } - -/*----------------------------------------------------------------------*/ - -METHOD IdeProjectWizard:loadSwichesSections() - LOCAL oTree := ::oUI:treeProps - LOCAL qItm, aAct, oFont, qTBtn - - oFont := QTreeWidgetItem():font( 0 ) - oFont:setBold( .t. ) - FOR EACH aAct IN ::aItmProps - qItm := QTreeWidgetItem() - aAct[ 1 ] := qItm - qItm:setFlags( 0 ) - qItm:setFlags( hb_bitOr( Qt_ItemIsSelectable, Qt_ItemIsDropEnabled, Qt_ItemIsEnabled ) ) - qItm:setText( 0, space( 7 ) + aAct[ 2 ] ) - qItm:setBackground( 0, aAct[ 3 ] ) - qItm:setForeground( 0, QBrush( QColor( 255,255,255 ) ) ) - qItm:setFont( 0, oFont ) - qItm:setTooltip( 0, "Double-click to add a value !" ) - oTree:addTopLevelItem( qItm ) - oTree:setFirstItemColumnSpanned( qItm, .t. ) - qItm:setChildIndicatorPolicy( QTreeWidgetItem_ShowIndicator ) - NEXT - FOR EACH aAct IN ::aItmProps - qTBtn := QToolButton() - aAct[ 6 ] := qTBtn - qTBtn:setIcon( QIcon( hbide_image( "expand_m" ) ) ) - qTBtn:setAutoFillBackground( .t. ) - qTBtn:setAutoRaise( .t. ) - qTBtn:setMaximumWidth( 20 ) - qTBtn:setMaximumHeight( 20 ) - qTBtn:setStyleSheet( "" ) - qTBtn:setStyleSheet( aAct[ 7 ] ) - qTBtn:connect( "clicked()", blockBtnClicked( Self, "qTBtn_clicked", aAct:__enumIndex() ) ) - oTree:setItemWidget( aAct[ 1 ], 1, qTBtn ) - NEXT - RETURN Self - -/*----------------------------------------------------------------------*/ - -METHOD IdeProjectWizard:loadSourcesSections() - LOCAL oTree := ::oUI:treeSrc - LOCAL qItm, aAct, oFont, qTBtn - - oFont := QTreeWidgetItem():font( 0 ) - oFont:setBold( .t. ) - FOR EACH aAct IN ::aItmSrc - qItm := QTreeWidgetItem() - aAct[ 1 ] := qItm - qItm:setFlags( 0 ) - qItm:setFlags( hb_bitOr( Qt_ItemIsSelectable, Qt_ItemIsDropEnabled, Qt_ItemIsEnabled ) ) - qItm:setText( 0, " " + aAct[ 2 ] ) - qItm:setBackground( 0, aAct[ 3 ] ) - qItm:setForeground( 0, QBrush( QColor( 255,255,255 ) ) ) - qItm:setFont( 0, oFont ) - qItm:setTooltip( 0, "Drag and drop a source OR select with open icon at the top !" ) - oTree:addTopLevelItem( qItm ) - oTree:setFirstItemColumnSpanned( qItm, .t. ) - qItm:setChildIndicatorPolicy( QTreeWidgetItem_ShowIndicator ) - NEXT - FOR EACH aAct IN ::aItmSrc - qTBtn := QToolButton() - aAct[ 6 ] := qTBtn - qTBtn:setIcon( QIcon( hbide_image( "expand_m" ) ) ) - qTBtn:setAutoFillBackground( .t. ) - qTBtn:setAutoRaise( .t. ) - qTBtn:setMaximumWidth( 20 ) - qTBtn:setMaximumHeight( 20 ) - qTBtn:setStyleSheet( "" ) - qTBtn:setStyleSheet( aAct[ 7 ] ) - qTBtn:connect( "clicked()", blockBtnClicked( Self, "qSBtn_clicked", aAct:__enumIndex() ) ) - oTree:setItemWidget( aAct[ 1 ], 1, qTBtn ) - NEXT - - RETURN Self - -/*----------------------------------------------------------------------*/ - METHOD IdeProjectWizard:execEvent( xEvent, p, p1 ) - LOCAL cText, qItm, n, i, oFont, aMenu, oParent, aFiles, aFilt, cFile, cExt, lTop, nChildren, qChild + LOCAL cText, qItm, n, i, oFont, aMenu, aFiles, aFilt, cFile, lTop, nChildren, qChild + LOCAL qMime, qUrl, qList, aItm - HB_SYMBOL_UNUSED( p ) HB_SYMBOL_UNUSED( p1 ) SWITCH xEvent + CASE "frameSrc_dragMoveEvent" + CASE "frameSrc_dragEnterEvent" + p:acceptProposedAction() + EXIT + CASE "frameSrc_dropEvent" + qMime := p:mimeData() + IF qMime:hasUrls() + qList := qMime:urls() + FOR i := 0 TO qList:size() - 1 + qUrl := qList:at( i ) + ::addSourceFile( hbide_pathToOSPath( qUrl:toLocalFile() ) ) + NEXT + p:setDropAction( Qt_CopyAction ) + p:accept() + ENDIF + EXIT CASE "treeProps_itemSelectionChanged" IF ! empty( qItm := ::oUI:treeProps:currentItem() ) lTop := ::oUI:treeProps:indexOfTopLevelItem( qItm ) >= 0 @@ -440,7 +389,47 @@ METHOD IdeProjectWizard:execEvent( xEvent, p, p1 ) ENDIF ::aItmSrc[ p,1 ]:setSelected( .t. ) EXIT - CASE "toolGetSrc_clicked" + CASE "toolSrcDel_clicked" + IF hbide_getYesNo( "Do you really want to delete all sources ?", "Dangerous Action", "Confirmation Required!", ::oUI:oWidget ) + FOR EACH aItm IN ::aItmSrc + IF ! empty( aItm[ 1 ] ) + n := aItm[ 1 ]:childCount() + FOR i := 1 TO n + aItm[ 1 ]:removeChild( aItm[ 1 ]:child( 0 ) ) + NEXT + ENDIF + NEXT + ENDIF + EXIT + CASE "toolSrcMin_clicked" + FOR EACH aItm IN ::aItmSrc + IF ! empty( aItm[ 1 ] ) + aItm[ 1 ]:setExpanded( .F. ) + ENDIF + NEXT + EXIT + CASE "toolSrcMax_clicked" + FOR EACH aItm IN ::aItmSrc + IF ! empty( aItm[ 1 ] ) + aItm[ 1 ]:setExpanded( .T. ) + ENDIF + NEXT + EXIT + CASE "btnSwMin_clicked" + FOR EACH aItm IN ::aItmProps + IF ! empty( aItm[ 1 ] ) + aItm[ 1 ]:setExpanded( .F. ) + ENDIF + NEXT + EXIT + CASE "btnSwMax_clicked" + FOR EACH aItm IN ::aItmProps + IF ! empty( aItm[ 1 ] ) + aItm[ 1 ]:setExpanded( .T. ) + ENDIF + NEXT + EXIT + CASE "toolSrcGet_clicked" aFilt := {} aadd( aFilt, { "Program Files", "*.prg" } ) aadd( aFilt, { "C Files" , "*.c" } ) @@ -454,19 +443,7 @@ METHOD IdeProjectWizard:execEvent( xEvent, p, p1 ) oFont := QFont( "Courier New" ) oFont:setPointSize( 8 ) FOR EACH cFile IN aFiles - hb_fNameSplit( cFile, , , @cExt ) - IF ( n := ascan( ::aItmSrc, {|e_| e_[ 5 ] == lower( cExt ) } ) ) == 0 - n := len( ::aItmSrc ) - ENDIF - oParent := ::aItmSrc[ n,1 ] - ::oUI:treeSrc:expandItem( oParent ) - qItm := QTreeWidgetItem() - oParent:addChild( qItm ) - qItm:setFlags( 0 ) - qItm:setFlags( hb_bitOr( Qt_ItemIsSelectable, Qt_ItemIsDragEnabled, Qt_ItemIsEnabled ) ) - qItm:setText( 0, cFile ) - qItm:setFont( 0, oFont ) - qItm:setBackground( 0, ::aItmSrc[ 1, 4 ] ) + ::addSourceFile( cFile ) NEXT ENDIF EXIT @@ -474,15 +451,21 @@ METHOD IdeProjectWizard:execEvent( xEvent, p, p1 ) IF ! empty( qItm := ::oUI:treeSrc:itemAt( p ) ) cText := substr( qItm:text( 0 ), 8 ) aMenu := {} - IF ( n := ascan( ::aItmSrc, {|e_| e_[ 2 ] == cText } ) ) == 0 - aadd( aMenu, { ::oAC:getAction( "Delete" ) } ) - ELSE + aadd( aMenu, { ::oAC:getAction( "Delete" ) } ) + IF ( n := ascan( ::aItmSrc, {|e_| e_[ 2 ] == cText } ) ) > 0 aadd( aMenu, { ::oAC:getAction( "SortAZ" ) } ) aadd( aMenu, { ::oAC:getAction( "SortZA" ) } ) ENDIF cText := hbide_execPopup( aMenu, ::oUI:treeSrc:mapToGlobal( p ), ::oUI:treeSrc ) IF cText == "Delete" - ::deleteTreeItem( qItm ) + IF n > 0 + n := qItm:childCount() + FOR i := 1 TO n + ::deleteTreeItem( qItm:child( 0 ) ) + NEXT + ELSE + ::deleteTreeItem( qItm ) + ENDIF ELSEIF cText == "Sort Ascending" ::aItmSrc[ n,1 ]:sortChildren( 0, Qt_AscendingOrder ) ELSEIF cText == "Sort Descending" @@ -494,15 +477,21 @@ METHOD IdeProjectWizard:execEvent( xEvent, p, p1 ) IF ! empty( qItm := ::oUI:treeProps:itemAt( p ) ) cText := substr( qItm:text( 0 ), 8 ) aMenu := {} - IF ( n := ascan( ::aItmProps, {|e_| e_[ 2 ] == cText } ) ) == 0 - aadd( aMenu, { ::oAC:getAction( "Delete" ) } ) - ELSE + aadd( aMenu, { ::oAC:getAction( "Delete" ) } ) + IF ( n := ascan( ::aItmProps, {|e_| e_[ 2 ] == cText } ) ) > 0 aadd( aMenu, { ::oAC:getAction( "SortAZ" ) } ) aadd( aMenu, { ::oAC:getAction( "SortZA" ) } ) ENDIF cText := hbide_execPopup( aMenu, ::oUI:treeProps:mapToGlobal( p ), ::oUI:treeProps ) IF cText == "Delete" - ::deleteTreeItem( qItm ) + IF n > 0 + n := qItm:childCount() + FOR i := 1 TO n + ::deleteTreeItem( qItm:child( 0 ) ) + NEXT + ELSE + ::deleteTreeItem( qItm ) + ENDIF ELSEIF cText == "Sort Ascending" ::aItmProps[ n,1 ]:sortChildren( 0, Qt_AscendingOrder ) ELSEIF cText == "Sort Descending" @@ -578,6 +567,48 @@ METHOD IdeProjectWizard:execEvent( xEvent, p, p1 ) /*----------------------------------------------------------------------*/ +METHOD IdeProjectWizard:addSourceFile( cFile ) + LOCAL oParent, qItm, cExt, n, cSource, lExists, i + LOCAL oFont := QFont( "Courier New" ) + + oFont:setPointSize( 8 ) + + IF hbide_isValidText( cFile ) + hb_fNameSplit( cFile, , , @cExt ) + IF ( n := ascan( ::aItmSrc, {|e_| e_[ 5 ] == lower( cExt ) } ) ) == 0 + n := len( ::aItmSrc ) + ENDIF + oParent := ::aItmSrc[ n,1 ] + + cSource := hbide_prepareSourceForHbp( hbide_stripRoot( ::cProjPath, cFile ) ) + + lExists := .f. + IF ( n := oParent:childCount() ) > 0 + FOR i := 1 TO n + IF lower( oParent:child( i-1 ):text( 0 ) ) == lower( cSource ) + lExists := .t. + EXIT + ENDIF + NEXT + ENDIF + + IF ! lExists + oParent:setExpanded( .t. ) + qItm := QTreeWidgetItem() + oParent:addChild( qItm ) + qItm:setFlags( 0 ) + qItm:setFlags( hb_bitOr( Qt_ItemIsSelectable, Qt_ItemIsDragEnabled, Qt_ItemIsEnabled ) ) + qItm:setText( 0, cSource ) + qItm:setTooltip( 0, cFile ) + qItm:setFont( 0, oFont ) + qItm:setBackground( 0, QBrush( QColor( 250, 250, 250 ) ) ) + ENDIF + ENDIF + + RETURN .t. + +/*----------------------------------------------------------------------*/ + METHOD IdeProjectWizard:addTreeItem( oParent ) LOCAL oFont, qItm @@ -592,7 +623,7 @@ METHOD IdeProjectWizard:addTreeItem( oParent ) qItm:setFlags( hb_bitOr( Qt_ItemIsSelectable, Qt_ItemIsDragEnabled, Qt_ItemIsEnabled, Qt_ItemIsEditable ) ) qItm:setText( 0, "" ) qItm:setFont( 0, oFont ) - qItm:setBackground( 0, QBrush( QColor( 245,245,245 ) ) ) + qItm:setBackground( 0, QBrush( QColor( 250, 250, 250 ) ) ) qItm:setFirstColumnSpanned( .t. ) oParent:treeWidget():editItem( qItm, 0 ) @@ -615,6 +646,77 @@ METHOD IdeProjectWizard:deleteTreeItem( oChild ) /*----------------------------------------------------------------------*/ +METHOD IdeProjectWizard:addDropIndicator( oTree, oNode, cMsg, cCSS, nIndex ) + LOCAL qTBtn := QToolButton() + + qTBtn:setIcon( QIcon( hbide_image( "expand_m" ) ) ) + qTBtn:setAutoFillBackground( .t. ) + qTBtn:setAutoRaise( .t. ) + qTBtn:setMaximumWidth( 20 ) + qTBtn:setMaximumHeight( 20 ) + qTBtn:setStyleSheet( "" ) + qTBtn:setStyleSheet( cCSS ) + qTBtn:connect( "clicked()", {|| ::execEvent( cMsg, nIndex ) } ) + oTree:setItemWidget( oNode, 1, qTBtn ) + + RETURN qTBtn + +/*----------------------------------------------------------------------*/ + +METHOD IdeProjectWizard:loadSwichesSections() + LOCAL oTree := ::oUI:treeProps + LOCAL qItm, aAct, oFont + + oFont := QTreeWidgetItem():font( 0 ) + oFont:setBold( .t. ) + FOR EACH aAct IN ::aItmProps + qItm := QTreeWidgetItem() + aAct[ 1 ] := qItm + qItm:setFlags( 0 ) + qItm:setFlags( hb_bitOr( Qt_ItemIsSelectable, Qt_ItemIsDropEnabled, Qt_ItemIsEnabled ) ) + qItm:setText( 0, space( 7 ) + aAct[ 2 ] ) + qItm:setBackground( 0, aAct[ 3 ] ) + qItm:setForeground( 0, QBrush( QColor( 255,255,255 ) ) ) + qItm:setFont( 0, oFont ) + qItm:setTooltip( 0, "Double-click to add a value !" ) + oTree:addTopLevelItem( qItm ) + oTree:setFirstItemColumnSpanned( qItm, .t. ) + qItm:setChildIndicatorPolicy( QTreeWidgetItem_ShowIndicator ) + + aAct[ 6 ] := ::addDropIndicator( oTree, aAct[ 1 ], "qTBtn_clicked", aAct[ 7 ], aAct:__enumIndex() ) + NEXT + + RETURN Self + +/*----------------------------------------------------------------------*/ + +METHOD IdeProjectWizard:loadSourcesSections() + LOCAL oTree := ::oUI:treeSrc + LOCAL qItm, aAct, oFont + + oFont := QTreeWidgetItem():font( 0 ) + oFont:setBold( .t. ) + FOR EACH aAct IN ::aItmSrc + qItm := QTreeWidgetItem() + aAct[ 1 ] := qItm + qItm:setFlags( 0 ) + qItm:setFlags( hb_bitOr( Qt_ItemIsSelectable, Qt_ItemIsDropEnabled, Qt_ItemIsEnabled ) ) + qItm:setText( 0, space( 7 ) + aAct[ 2 ] ) + qItm:setBackground( 0, aAct[ 3 ] ) + qItm:setForeground( 0, QBrush( QColor( 255,255,255 ) ) ) + qItm:setFont( 0, oFont ) + qItm:setTooltip( 0, "Drag and drop a source OR select with open icon at the top !" ) + oTree:addTopLevelItem( qItm ) + oTree:setFirstItemColumnSpanned( qItm, .t. ) + qItm:setChildIndicatorPolicy( QTreeWidgetItem_ShowIndicator ) + + aAct[ 6 ] := ::addDropIndicator( oTree, aAct[ 1 ], "qSBtn_clicked", aAct[ 7 ], aAct:__enumIndex() ) + NEXT + + RETURN Self + +/*----------------------------------------------------------------------*/ + METHOD IdeProjectWizard:loadDefaults() LOCAL cProjPath, cPath, cName, cExt diff --git a/harbour/contrib/hbide/projectwizard.ui b/harbour/contrib/hbide/projectwizard.ui index 6a7867f0c9..3ed90ebe9a 100644 --- a/harbour/contrib/hbide/projectwizard.ui +++ b/harbour/contrib/hbide/projectwizard.ui @@ -784,7 +784,7 @@ 292 - 8 + 56 25 20 @@ -807,7 +807,7 @@ 292 - 32 + 76 25 20 @@ -830,7 +830,7 @@ 292 - 56 + 96 25 20 @@ -853,7 +853,7 @@ 292 - 80 + 112 25 20 @@ -876,7 +876,7 @@ 292 - 100 + 128 25 20 @@ -918,6 +918,46 @@ true + + + + 292 + 8 + 25 + 19 + + + + ... + + + + :/resources/maximize_all.png:/resources/maximize_all.png + + + true + + + + + + 292 + 28 + 25 + 19 + + + + ... + + + + :/resources/minimize_all.png:/resources/minimize_all.png + + + true + + @@ -1283,7 +1323,7 @@ 12 - 11 + 0 449 33 @@ -1294,10 +1334,10 @@ QFrame::Raised - + - 12 + 4 8 25 19 @@ -1317,7 +1357,7 @@ true - + 92 @@ -1326,41 +1366,47 @@ 19 + + Expand all sections + ... - :/resources/go-up.png:/resources/go-up.png + :/resources/maximize_all.png:/resources/maximize_all.png true - + - 128 + 120 8 25 19 + + Collapse all sections + ... - :/resources/go-down.png:/resources/go-down.png + :/resources/minimize_all.png:/resources/minimize_all.png true - + - 204 + 416 8 25 19 @@ -1378,13 +1424,13 @@ - + 12 - 48 + 32 449 - 533 + 549 @@ -1399,7 +1445,7 @@ 8 8 433 - 517 + 533 diff --git a/harbour/contrib/hbide/resources/maximize.png b/harbour/contrib/hbide/resources/maximize.png new file mode 100644 index 0000000000000000000000000000000000000000..3d7463f5e7e94d5ca3d477939a9a635ce7807333 GIT binary patch literal 2072 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 literal 0 HcmV?d00001 diff --git a/harbour/contrib/hbide/resources/minimize.png b/harbour/contrib/hbide/resources/minimize.png new file mode 100644 index 0000000000000000000000000000000000000000..d293fd606875cc67e674cd4008e0f4b570a26750 GIT binary patch literal 2101 zcmV-52+H?~P)pM=Sf6CRA}DqnQM$xXBo$T&zZ~a&MeFBzyez?QX2?D8^tzlftHpn zB!pIlTCs^OCXE4$(bx}uFwq3m*bjVg8>D`~&`65P)`WChx24ts%Yq5rY~4~!#1vad zSVV4npE;NJ@xz>%J#(MkRfq|1@?>_-zIo37|J>hq;P(1ISbCWFEqQM{(Mo%)ib{^K zjats?pSkO%f`6Ue)X}N!)JsU6UfAN7=3) z`rxml`fpUb=r2V=+iBL<`9(#&ds(OZc&aS;C%(MNfZqs{R`ivkzXB0va;0WlsX#h;3iu!@4O z;U%UAz&n8LZ&<_}>c&ZEC(VTDVmV8YDqI@|W)P*B1KQ5lv+sSAJ- z2dtI*7$}(ovVt9W>?BnNd?{j9wI$BqZvq}QdEkTAcLA4=P+Dar*D6*aS-}pJon^rm zlWKDy*Q(>6`QSAG9v;aDU$zs=3U(m;ENgYUg7uvV=75_A+yp`>LoThiB>2K4E+p|| z?IwiF5A!RM9iGiUr|lx{eMnf+A?daxT8>}*`Bp<3h=&gZFutWf80fgCSvyfr7&8k= znI@LX_X%lg-0CJ^d6!mMT^u~wye=26CzyrDX&hz+2@KUeNZ;HOh!xPJpbBboKaI(K zW)##2Y5?_Uxw4HfB=+TojtzKhl@;u*rX~~z-$gUZF-Dn{1?dxr%0&Y4^-?9!coc>f5T-zh3 zYJ3wXgU9Slk0P%dyzY%<&|I+=`K^o!1EbXxMA|6vJ-+|DROR15V@eJR?{G zwfBC-)!4)RgL8Xm;`jc@ptym?7V=FOre4nwm1Ps|`NdcFMP1N!(bGeRkDQ#Wjz6C9 zUhL>g4(|HZzLzJf!9GnIUctrgbcXO6g{9S&aDWcj0HWuwxn%^@fISrtq`R+4O@TnsKA`_#8HT3p z)JWd6nS}m!Z@EgJmPSYbitvWG2es>>h_E(}fynh+epxCXQo(s~iI!Eo(A|wIn!5Jopc|_9uM6r z2{5h$4@5QX)%*jK4cq{3&?a{m2VdQJpocFK^()j*4WgBZwtwH;aHm9oJ$FH5VWRw)upV7e~F& zc#+6Vq3MbAbJ|WwHsejo1KP`1u{g*yLfHfk$km}HMw2llGofCq?fvzI=eK5yNF)*{ zC=ntNcx*=dy7?{VUL=+V>zWWD8KY(TrQBPKOsJ(e%y}L!MM5fo{~h&2ih(aG*EuFn zmajtE!DbR1EcnGiOI*LC&&Qoy;LF8GSY^S-iQom2&dp8ag74KdWiODVl_c{HWdrl+ z(02czS@v?bhmD92-pxBDITgNZl?2?pYGW6s9$mHs$>Iqa41N^%2U3ckZ<`)GJ->j7Z_tO;Ogr8fbE})M|qiHPLZm@8!5o! z0p|F(Bn6kd5Abb9*zdRQ(lUxek|$&nZP=_K$zZn3R?~^o27pm^%O<|V5Ur#*RWTnT zTqev)SxtZG%iWcHlVM)T36I>cad3G;zQ#KM@-)3TtifimY7dM7W3% zNOC_4G;oP%aq!j6LLKZy*@EFq<-q?}e`eiJoLb%k77$^DY^vhEsRD^*+~lSEiR&R2 fa(mrg|J(H+#S11kD^2Ig00000NkvXXu0mjf$42PG literal 0 HcmV?d00001 diff --git a/harbour/contrib/hbide/resources/minimize_all.png b/harbour/contrib/hbide/resources/minimize_all.png new file mode 100644 index 0000000000000000000000000000000000000000..6fb7e02d2a5e4635e0dbe0a027e578ce2e64f62c GIT binary patch literal 975 zcmV;=12FuFP)h z;NaomP+D40T3UO8f_;UB+1uOO-ri7JTExf4$I8mt+S=IL+u7UO+T7gQ-QC;W-C=5K zV{B|IH8m_YHZM6jF*`dmJv}%=LOe!BKuStNOG`vfPDoNxOjcGMfQgBLh=_rUi-L=bf{cuVi;IMfjf9Slg^rGekB^CukByU) zjg^&;l$4O0n~|KHl9-s4ot>Pgr=X>!qphv0wY9Ccx306Zu)4ajx3{soyR*H$w7T$L$iT_Tz{<+P%*?~h&Bf2p$I;Qr%*@Ht)5_4$%hlD))6>n> z)y>z}&e+(`*4EG2+0feB(c9b7+}zaN-PPFG)!N$C-rn2d;@soo-QVBdlez>+9<8@A35X_W1Z5uuLKV0016zQchC<8yzbwFfgR5#m3Li zS^78Wj{`Go=MgRZ-ZAnByR2Uhh!M#o!K>&r(Z)V5q6%hm*6c<2a zQXxf1AW?&q4k>jWF?Ajz??8$m3IulSSPu5EGnZZetQXl-oCEJ=Fll&NSOXmATfDaLia+P8{Rpm5Bm2zQGm>Zup<3jUn9Oi_Du<&rHh0BMq z0G7Dq+g;6c+deK~Aujc<5*3oGUR(l8Q04I=7A_uD30P2Na?*;ibuv)}ENJEK+L-G* zt$;(KB7csLtOy5@mEk#mc*P-6bBm}E4n%2qL*4O5<{T2GUZ1+%9ZJF>QEK<7Ym1U_ zB+*bf`a<1cKtT!4*l9|k-)Eg~SU3C-rq){4#X>%GqmUckB0F+^d)PE=CS^V`|2|uu x<7}r_5yfcNSAqSL8$-$002ovPDHLkV1hr{^(FuS literal 0 HcmV?d00001