Page 1 of 8

Codejock RibbonBar first tests

Posted: Tue Mar 31, 2009 8:21 pm
by Antonio Linares
We have been doing some tests using the Codejock RibbonBar control :-)

Here you have a first test.

test.prg

Code: Select all

#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
 
Image

Re: Codejock RibbonBar first tests

Posted: Tue Mar 31, 2009 8:36 pm
by nageswaragunupudi
Excellant !!!!

Re: Codejock RibbonBar first tests

Posted: Tue Mar 31, 2009 8:59 pm
by Otto
Hello Antonio,

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

Re: Codejock RibbonBar first tests

Posted: Tue Mar 31, 2009 9:14 pm
by Antonio Linares
Otto,

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

Re: Codejock RibbonBar first tests

Posted: Tue Mar 31, 2009 9:22 pm
by Daniel Garcia-Gil
I found the way to add groups :-)

Code: Select all

#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
Image

Re: Codejock RibbonBar first tests

Posted: Tue Mar 31, 2009 9:22 pm
by Antonio Linares
Daniel,

very good! :-)

Thanks!

Re: Codejock RibbonBar first tests

Posted: Tue Mar 31, 2009 9:37 pm
by Antonio Linares
Here we have a VB example to review code:

http://forums.fivetechsupport.com/viewt ... 23e#p15416

Re: Codejock RibbonBar first tests

Posted: Tue Mar 31, 2009 9:46 pm
by Antonio Linares
Adding buttons to a Group! :-)

Code: Select all

#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
 
Image

Re: Codejock RibbonBar first tests

Posted: Tue Mar 31, 2009 10:06 pm
by Daniel Garcia-Gil
Other controls

Code: Select all

#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
Image

Re: Codejock RibbonBar first tests

Posted: Tue Mar 31, 2009 10:08 pm
by Antonio Linares
Great! :-)

We are moving forward very quickly :-)

Re: Codejock RibbonBar first tests

Posted: Tue Mar 31, 2009 10:58 pm
by Antonio Linares
Managing the controls properties :-)

Code: Select all

#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
 
Image

Re: Codejock RibbonBar first tests

Posted: Tue Mar 31, 2009 11:07 pm
by Antonio Linares
Easily inspecting CodeJock properties from Microsoft Word (VBA) to learn about it :-)

Image

Re: Codejock RibbonBar first tests

Posted: Tue Mar 31, 2009 11:54 pm
by Antonio Linares
option button:

Code: Select all

   oGroup1 = oTabFiles:Groups:AddGroup( "Test 1", 0 ) 
   oGroup1:ShowOptionButton = .T.
 
Image

Re: Codejock RibbonBar first tests

Posted: Wed Apr 01, 2009 12:59 am
by Antonio Linares
Executing an action from a control :-)

Code: Select all

#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
 
Image

Re: Codejock RibbonBar first tests

Posted: Wed Apr 01, 2009 5:56 am
by Daniel Garcia-Gil
Image on Button
Alpha Channel Support too

Image

Code: Select all

#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