FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Codejock RibbonBar first tests
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Codejock RibbonBar first tests
Posted: Tue Mar 31, 2009 08:21 PM
We have been doing some tests using the Codejock RibbonBar control :-)

Here you have a first test.

test.prg
Code (fw): Select all Collapse
#include "FiveWin.ch"

function Main()

   local oWnd, oAct, oRb, oTabFiles, oTabEdit, oTabBuild

   DEFINE WINDOW oWnd

   @ 0, 0 ACTIVEX oAct PROGID "Codejock.CommandBarsFrame.12.1.1" OF oWnd

   oAct:Do( "AttachToWindow", oWnd:hWnd )
   oAct:Hide()

   oRb = oAct:Do( "AddRibbonBar", "fwh" )

   oTabFiles = oRb:InsertTab( 0, "&Files" )   
   oTabEdit  = oRb:InsertTab( 1, "&Edit" )   
   oTabBuild = oRb:InsertTab( 2, "&Build" )   
   
   ACTIVATE WINDOW oWnd

return nil

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Codejock RibbonBar first tests
Posted: Tue Mar 31, 2009 08:36 PM

Excellant !!!!

Regards



G. N. Rao.

Hyderabad, India
Posts: 6983
Joined: Fri Oct 07, 2005 07:07 PM
Re: Codejock RibbonBar first tests
Posted: Tue Mar 31, 2009 08:59 PM

Hello Antonio,

this is looking good.
Which product from Codejock do we need to buy to get this functionality.
Thanks in advance
Otto

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Codejock RibbonBar first tests
Posted: Tue Mar 31, 2009 09:14 PM

Otto,

You can download the demo version from Codejock to do these tests :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Codejock RibbonBar first tests
Posted: Tue Mar 31, 2009 09:22 PM
I found the way to add groups :-)

Code (fw): Select all Collapse
#include "FiveWin.ch"

function Main()

  local oWnd, oAct, oRb, oTabFiles, oTabEdit, oTabBuild

  DEFINE WINDOW oWnd

  @ 0, 0 ACTIVEX oAct PROGID "Codejock.CommandBarsFrame.12.1.1" OF oWnd

  oAct:Do( "AttachToWindow", oWnd:hWnd )
  oAct:Hide()

  oRb = oAct:Do( "AddRibbonBar", "fwh" )

  oTabFiles = oRb:InsertTab( 0, "&Files" )  
  oTabEdit  = oRb:InsertTab( 1, "&Edit" )  
  oTabBuild = oRb:InsertTab( 2, "&Build" )  
 
  oTabFiles:Groups:AddGroup( "Test 1", 0 )  
  oTabFiles:Groups:AddGroup( "Test 2", 1 )  
 
  ACTIVATE WINDOW oWnd

return nil


Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Codejock RibbonBar first tests
Posted: Tue Mar 31, 2009 09:22 PM

Daniel,

very good! :-)

Thanks!

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Codejock RibbonBar first tests
Posted: Tue Mar 31, 2009 09:37 PM

Here we have a VB example to review code:

viewtopic.php?p=15416sid=be973c77d3c95fadb645576e242d823e#p15416

&

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Codejock RibbonBar first tests
Posted: Tue Mar 31, 2009 09:46 PM
Adding buttons to a Group! :-)

Code (fw): Select all Collapse
#include "FiveWin.ch"

#define xtpControlButton  1

function Main()

   local oWnd, oAct, oRb, oTabFiles, oTabEdit, oTabBuild, oGroup1

   DEFINE WINDOW oWnd

   @ 0, 0 ACTIVEX oAct PROGID "Codejock.CommandBarsFrame.12.1.1" OF oWnd

   oAct:Do( "AttachToWindow", oWnd:hWnd )
   oAct:Hide()

   oRb = oAct:Do( "AddRibbonBar", "fwh" )

   oTabFiles = oRb:InsertTab( 0, "&Files" )   
   oTabEdit  = oRb:InsertTab( 1, "&Edit" )   
   oTabBuild = oRb:InsertTab( 2, "&Build" )  
   
   oGroup1 = oTabFiles:Groups:AddGroup( "Test 1", 0 )   
   oTabFiles:Groups:AddGroup( "Test 2", 1 )   

   oGroup1:Add( xtpControlButton, 0, "First" )
   oGroup1:Add( xtpControlButton, 1, "Second" )
   oGroup1:Add( xtpControlButton, 2, "Third" )
   
   ACTIVATE WINDOW oWnd

return nil

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Codejock RibbonBar first tests
Posted: Tue Mar 31, 2009 10:06 PM
Other controls

Code (fw): Select all Collapse
#include "FiveWin.ch"

#define xtpControlError             0
#define xtpControlButton            1
#define xtpControlPopup             2
#define xtpControlButtonPopup       3
#define xtpControlSplitButtonPopup  4
#define xtpControlComboBox          5
#define xtpControlEdit              6
#define xtpControlCustom            7
#define xtpControlLabel             8
#define xtpControlCheckBox          9
#define xtpControlGallery           10
#define xtpControlRadioButton       11

function Main()

   local oWnd, oAct, oRb, oTabFiles, oTabEdit, oTabBuild, oGroup1, oGroup2

   DEFINE WINDOW oWnd

   @ 0, 0 ACTIVEX oAct PROGID "Codejock.CommandBarsFrame.12.1.1" OF oWnd

   oAct:Do( "AttachToWindow", oWnd:hWnd )
   oAct:Hide()

   oRb = oAct:Do( "AddRibbonBar", "fwh" )

   oTabFiles = oRb:InsertTab( 0, "&Files" )  
   oTabEdit  = oRb:InsertTab( 1, "&Edit" )  
   oTabBuild = oRb:InsertTab( 2, "&Build" )  
   
   oGroup1 = oTabFiles:Groups:AddGroup( "Test 1", 0 )  
   oGroup2 = oTabFiles:Groups:AddGroup( "Test 2", 1 )  

   oGroup1:Add( xtpControlButton, 0, "First" )
   oGroup1:Add( xtpControlButton, 1, "Second" )
   oGroup1:Add( xtpControlButton, 2, "Third" )
   
   oGroup2:Add( xtpControlEdit, 0, "A Get" )
   oGroup2:Add( xtpControlLabel, 1, "A Label" )
   oGroup2:Add( xtpControlCheckBox, 2, "A CheckBox" )
   
   ACTIVATE WINDOW oWnd

return nil


Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Codejock RibbonBar first tests
Posted: Tue Mar 31, 2009 10:08 PM

Great! :-)

We are moving forward very quickly :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Codejock RibbonBar first tests
Posted: Tue Mar 31, 2009 10:58 PM
Managing the controls properties :-)

Code (fw): Select all Collapse
#include "FiveWin.ch"

#define xtpControlError             0
#define xtpControlButton            1
#define xtpControlPopup             2
#define xtpControlButtonPopup       3
#define xtpControlSplitButtonPopup  4
#define xtpControlComboBox          5
#define xtpControlEdit              6
#define xtpControlCustom            7
#define xtpControlLabel             8
#define xtpControlCheckBox          9
#define xtpControlGallery           10
#define xtpControlRadioButton       11

function Main()

   local oWnd, oAct, oRb, oTabFiles, oTabEdit, oTabBuild
   local oGroup1, oGroup2, oButton1, oButton2

   DEFINE WINDOW oWnd

   @ 0, 0 ACTIVEX oAct PROGID "Codejock.CommandBarsFrame.12.1.1" OF oWnd

   oAct:Do( "AttachToWindow", oWnd:hWnd )
   oAct:Hide()

   oRb = oAct:Do( "AddRibbonBar", "fwh" )

   oTabFiles = oRb:InsertTab( 0, "&Files" )  
   oTabEdit  = oRb:InsertTab( 1, "&Edit" )  
   oTabBuild = oRb:InsertTab( 2, "&Build" )  
   
   oGroup1 = oTabFiles:Groups:AddGroup( "Test 1", 0 )  
   oGroup2 = oTabFiles:Groups:AddGroup( "Test 2", 1 )  

   oButton1 = oGroup1:Add( xtpControlButton, 1, "First" )
   oButton2 = oGroup1:Add( xtpControlButton, 2, "Second" )

   oButton1:Caption = "FiveWin power!"
   oButton1:TooltipText = "Ribbonbar for FWH"
   
   ACTIVATE WINDOW oWnd

return nil

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Codejock RibbonBar first tests
Posted: Tue Mar 31, 2009 11:07 PM
Easily inspecting CodeJock properties from Microsoft Word (VBA) to learn about it :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Codejock RibbonBar first tests
Posted: Tue Mar 31, 2009 11:54 PM
option button:
Code (fw): Select all Collapse
   oGroup1 = oTabFiles:Groups:AddGroup( "Test 1", 0 ) 
   oGroup1:ShowOptionButton = .T.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Codejock RibbonBar first tests
Posted: Wed Apr 01, 2009 12:59 AM
Executing an action from a control :-)

Code (fw): Select all Collapse
#include "FiveWin.ch"

#define xtpControlError              0
#define xtpControlButton             1
#define xtpControlPopup              2
#define xtpControlButtonPopup        3
#define xtpControlSplitButtonPopup   4
#define xtpControlComboBox           5
#define xtpControlEdit               6
#define xtpControlCustom             7
#define xtpControlLabel              8
#define xtpControlCheckBox           9
#define xtpControlGallery           10
#define xtpControlRadioButton       11

function Main()

   local oWnd, oAct, oRb, oTabFiles, oTabEdit, oTabBuild
   local oGroup1, oGroup2, oButton1, oButton2, aButtons := {}

   DEFINE WINDOW oWnd

   @ 0, 0 ACTIVEX oAct PROGID "Codejock.CommandBarsFrame.12.1.1" OF oWnd

   oAct:bOnEvent = { | cEvent, aParams, pParams | RibbonBarEvent( cEvent, aParams, pParams, aButtons ) }

   oAct:Do( "AttachToWindow", oWnd:hWnd )
   oAct:Hide()

   oRb = oAct:Do( "AddRibbonBar", "fwh" )

   oTabFiles = oRb:InsertTab( 0, "&Files" )  
   oTabEdit  = oRb:InsertTab( 1, "&Edit" )  
   oTabBuild = oRb:InsertTab( 2, "&Build" )  
   
   oGroup1 = oTabFiles:Groups:AddGroup( "Test 1", 0 ) 
   oGroup1:ShowOptionButton = .T.
    
   oGroup2 = oTabFiles:Groups:AddGroup( "Test 2", 1 )  

   oButton1 = oGroup1:Add( xtpControlButton, 1, "First" )
   oButton2 = oGroup1:Add( xtpControlButton, 2, "Second" )

   AAdd( aButtons, oButton1 )
   AAdd( aButtons, oButton2 )

   oButton1:Caption = "FiveWin power!"
   oButton1:TooltipText = "Ribbonbar for FWH"
   
   ACTIVATE WINDOW oWnd
      
return nil

function RibbonBarEvent( cEvent, aParams, pParams, aButtons )

   do case
      case cEvent == "Execute" .and. Len( aButtons ) > 0
           do case 
              case aButtons[ 1 ]:hObj == aParams[ 1 ]
                   MsgInfo( "Button 1" )
                   
              case aButtons[ 2 ]:hObj == aParams[ 1 ]
                   MsgInfo( "Button 2" )
           endcase        
   endcase        
   
return nil

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Codejock RibbonBar first tests
Posted: Wed Apr 01, 2009 05:56 AM
Image on Button
Alpha Channel Support too



Code (fw): Select all Collapse
#include "FiveWin.ch"

#define xtpControlError              0
#define xtpControlButton             1
#define xtpControlPopup              2
#define xtpControlButtonPopup        3
#define xtpControlSplitButtonPopup   4
#define xtpControlComboBox           5
#define xtpControlEdit               6
#define xtpControlCustom             7
#define xtpControlLabel              8
#define xtpControlCheckBox           9
#define xtpControlGallery           10
#define xtpControlRadioButton       11

#define xtpImageNormal               0
#define xtpImageDisabled             1
#define xtpImageHot                  2
#define xtpImageChecked              3
#define xtpImagePressed              4

function Main()  

   local oWnd, oAct, oRb, oTabFiles, oTabEdit, oTabBuild, oIcons
   local oGroup1, oGroup2, oButton1, oButton2, aButtons := {}
   local oButton3, oButton4, oBmp1, oBmp2, oBmp3

   DEFINE WINDOW oWnd

   
  obmp1 := TBitmap():Define( , "..\bitmaps\16x16\new2.bmp", oWnd )
  obmp2 := TBitmap():Define( , "..\bitmaps\16x16\open2.bmp", oWnd ) 
  obmp3 := TBitmap():Define( , "..\bitmaps\alphabmp\explorer.bmp", oWnd ) 


   @ 0, 0 ACTIVEX oAct PROGID "Codejock.CommandBarsFrame.12.1.1" OF oWnd


   oAct:bOnEvent = { | cEvent, aParams, pParams | RibbonBarEvent( cEvent, aParams, pParams, aButtons ) }

   oAct:Do( "AttachToWindow", oWnd:hWnd )
   
   oIcons := oAct:Do( "icons" )
   
   oIcons:AddBitmap( oBmp1:hBitmap,1,xtpImageNormal,.f. ) 
   oIcons:AddBitmap( oBmp2:hBitmap,2,xtpImageNormal,.f. ) 
   oIcons:AddBitmap( oBmp3:hBitmap,3,xtpImageNormal,.t. ) // 4th param, Bool to Alpha Channel Support
   oIcons:LoadBitmap( "..\bitmaps\32x32\edit.bmp",4, xtpImageNormal) 
 
   oAct:Hide()

   oRb = oAct:Do( "AddRibbonBar", "fwh" )

   oTabFiles = oRb:InsertTab( 0, "&Files" )  
   oTabEdit  = oRb:InsertTab( 1, "&Edit" )  
   oTabBuild = oRb:InsertTab( 2, "&Build" )  
   
   oGroup1 = oTabFiles:Groups:AddGroup( "Test 1", 0 )
   oGroup1:ShowOptionButton = .T.
   
   oGroup2 = oTabFiles:Groups:AddGroup( "Test 2", 1 )  

   oButton1 = oGroup1:Add( xtpControlButton, 2, "First" )
   oButton2 = oGroup1:Add( xtpControlButton, 1, "Second" )
   
   oButton3 = oGroup2:Add( xtpControlButton, 4, NIL ) 
   oButton4 = oGroup2:Add( xtpControlButton, 3, NIL )
   oButton4:SetIconSize( 64,64 )
   oButton4:Width = 70
   oButton4:Height = 70
    
   
   
   AAdd( aButtons, oButton1 )
   AAdd( aButtons, oButton2 )

   oButton1:Caption = "FiveWin power!"
   oButton1:TooltipText = "Ribbonbar for FWH"
   
   ACTIVATE WINDOW oWnd
     
return nil

function RibbonBarEvent( cEvent, aParams, pParams, aButtons )

   do case
      case cEvent == "Execute" .and. Len( aButtons ) > 0
           do case
              case aButtons[ 1 ]:hObj == aParams[ 1 ]
                   MsgInfo( "Button 1" )
                   
              case aButtons[ 2 ]:hObj == aParams[ 1 ]
                   MsgInfo( "Button 2" )
           endcase        
   endcase        
   
return nil