Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


Hi Noel,

Please review the patch I'm sending here. I did not have luck getting
the control shown up. Please guide me what I'm missing ?

Thanks and regards
-- 
Anurag Jain
Final yr B.Tech CSE
SASTRA University
Thanjavur(T.N.)-613402
diff --cc sc/source/ui/app/inputwin.cxx
index 0fed037,edffb0a..0000000
--- a/sc/source/ui/app/inputwin.cxx
+++ b/sc/source/ui/app/inputwin.cxx
@@@ -140,7 -140,7 +140,7 @@@ ScInputWindow::ScInputWindow( Window* p
          ToolBox         ( pParent, WinBits(WB_BORDER|WB_3DLOOK|WB_CLIPCHILDREN) ),
          aWndPos         ( this ),
  //      maScrollBar     ( this,  WB_VERT | WB_DRAG ),
--        aTextWindow     ( this ),
++        aBarGroup       ( this ),
          pInputHdl             ( NULL ),
          pBindings       ( pBind ),
          aTextOk                       ( ScResId( SCSTR_QHELP_BTNOK ) ),               // not 
always new from Resource
@@@ -171,13 -171,13 +171,13 @@@
      InsertItem      ( SID_INPUT_SUM,    IMAGE( SID_INPUT_SUM ), 0,      3 );
      InsertItem      ( SID_INPUT_EQUAL,          IMAGE( SID_INPUT_EQUAL ), 0,    4 );
      InsertSeparator (                                                                             
                          5 );
--    InsertWindow    ( 7, &aTextWindow, 0,                                 6 );
++    InsertWindow    ( 7, &aBarGroup, 0,                              6 );
  //  InsertWindow    ( 8, &maScrollBar, 0,                                 8 );
  
      aWndPos      .SetQuickHelpText( ScResId( SCSTR_QHELP_POSWND ) );
      aWndPos    .SetHelpId             ( HID_INSWIN_POS );
--    aTextWindow.SetQuickHelpText( ScResId( SCSTR_QHELP_INPUTWND ) );
--    aTextWindow.SetHelpId             ( HID_INSWIN_INPUT );
++//    aTextWindow.SetQuickHelpText( ScResId( SCSTR_QHELP_INPUTWND ) );
++//    aTextWindow.SetHelpId           ( HID_INSWIN_INPUT );
  
  /*
      maScrollBar.SetPageSize( 1 );
@@@ -202,7 -202,7 +202,7 @@@
  
      aWndPos           .Show();
  //  maScrollBar .Show();
--    aTextWindow       .Show();
++    aBarGroup   .Show();
  
      pInputHdl = SC_MOD()->GetInputHdl( pViewSh, false );    // use own handler even if 
ref-handler is set
      if (pInputHdl)
@@@ -214,7 -214,7 +214,7 @@@
          //    -> Inhalt des Funktionsautopiloten wieder anzeigen
          //!   auch Selektion (am InputHdl gemerkt) wieder anzeigen
  
--        aTextWindow.SetTextString( pInputHdl->GetFormString() );
++        aBarGroup.SetTextString( pInputHdl->GetFormString() );
      }
      else if ( pInputHdl && pInputHdl->IsInputMode() )
      {
@@@ -222,7 -222,7 +222,7 @@@
          //    (Editieren einer Formel, dann umschalten zu fremdem Dokument/Hilfe),
          //    wieder den gerade editierten Text aus dem InputHandler anzeigen
  
--        aTextWindow.SetTextString( pInputHdl->GetEditString() );      // Text anzeigen
++        aBarGroup.SetTextString( pInputHdl->GetEditString() );        // Text anzeigen
          if ( pInputHdl->IsTopMode() )
              pInputHdl->SetMode( SC_INPUT_TABLE );             // Focus kommt eh nach unten
      }
@@@ -365,7 -365,7 +365,7 @@@ void ScInputWindow::Select(
          case SID_INPUT_OK:
              pScMod->InputEnterHandler();
              SetSumAssignMode();
--            aTextWindow.Invalidate();         // sonst bleibt Selektion stehen
++            aBarGroup.Invalidate();           // sonst bleibt Selektion stehen
              break;
  
          case SID_INPUT_SUM:
@@@ -472,13 -472,13 +472,13 @@@
  
          case SID_INPUT_EQUAL:
          {
--            aTextWindow.StartEditEngine();
++            aBarGroup.StartEditEngine();
              if ( pScMod->IsEditMode() )                       // nicht, wenn z.B. geschuetzt
              {
--                aTextWindow.GrabFocus();
--                aTextWindow.SetTextString( '=' );
++                aBarGroup.GainFocus();
++                aBarGroup.SetTextString( '=' );
  
--                EditView* pView = aTextWindow.GetEditView();
++                EditView* pView = aBarGroup.GetEditView();
                  if (pView)
                  {
                      pView->SetSelection( ESelection(0,1, 0,1) );
@@@ -496,17 -496,17 +496,7 @@@ void ScInputWindow::Resize(
  {
      ToolBox::Resize();
  
--    long nWidth = GetSizePixel().Width();
--    long nLeft  = aTextWindow.GetPosPixel().X();
--    Size aSize  = aTextWindow.GetSizePixel();
--
--    aSize.Width() = Max( ((long)(nWidth - nLeft - 40)), (long)0 );
--
--//    printf("Inside ScInputWindow:Resize()\n");
--//    printf("nWidth %ld nLeft %ld aSize.Width%ld \n",nWidth, nLeft, aSize.Width());
--
--    aTextWindow.SetSizePixel( aSize );
--    aTextWindow.Invalidate();
++    aBarGroup.Resize();
  }
  
  void ScInputWindow::SetFuncString( const String& rString, sal_Bool bDoEdit )
@@@ -514,15 -514,15 +504,15 @@@
      //!       new method at ScModule to query if function autopilot is open
      SfxViewFrame* pViewFrm = SfxViewFrame::Current();
      EnableButtons( pViewFrm && !pViewFrm->GetChildWindow( SID_OPENDLG_FUNCTION ) );
--    aTextWindow.StartEditEngine();
++    aBarGroup.StartEditEngine();
  
      ScModule* pScMod = SC_MOD();
      if ( pScMod->IsEditMode() )
      {
          if ( bDoEdit )
--            aTextWindow.GrabFocus();
--        aTextWindow.SetTextString( rString );
--        EditView* pView = aTextWindow.GetEditView();
++            aBarGroup.GainFocus();
++        aBarGroup.SetTextString( rString );
++        EditView* pView = aBarGroup.GetEditView();
          if (pView)
          {
              xub_StrLen nLen = rString.Len();
@@@ -552,7 -552,7 +542,7 @@@ void ScInputWindow::SetTextString( cons
      int i = rString.Len();
      if (rString.Len() <= 32767)
      {
--        aTextWindow.SetTextString(rString);
++        aBarGroup.SetTextString(rString);
  //        printf("%d ScInputWnd:SetTextString(),  if \n",i);
      }
      else
@@@ -560,7 -560,7 +550,7 @@@
  //        printf("%d ScInputWnd:SetTextString(),  else \n",i);
          String aNew = rString;
          aNew.Erase(32767);
--        aTextWindow.SetTextString(aNew);
++        aBarGroup.SetTextString(aNew);
      }
  }
  
@@@ -614,7 -614,7 +604,7 @@@ void ScInputWindow::SetSumAssignMode(
  void ScInputWindow::SetFormulaMode( sal_Bool bSet )
  {
      aWndPos.SetFormulaMode(bSet);
--    aTextWindow.SetFormulaMode(bSet);
++    aBarGroup.SetFormulaMode(bSet);
  }
  
  void ScInputWindow::SetText( const String& rString )
@@@ -629,43 -629,43 +619,43 @@@ String ScInputWindow::GetText() cons
  
  sal_Bool ScInputWindow::IsInputActive()
  {
--    return aTextWindow.IsInputActive();
++    return aBarGroup.IsInputActive();
  }
  
  EditView* ScInputWindow::GetEditView()
  {
--    return aTextWindow.GetEditView();
++    return aBarGroup.GetEditView();
  }
  
  void ScInputWindow::MakeDialogEditView()
  {
--    aTextWindow.MakeDialogEditView();
++    aBarGroup.MakeDialogEditView();
  }
  
  void ScInputWindow::StopEditEngine( sal_Bool bAll )
  {
--    aTextWindow.StopEditEngine( bAll );
++//    aTextWindow.StopEditEngine( bAll );
  }
  
  void ScInputWindow::TextGrabFocus()
  {
--    aTextWindow.GrabFocus();
++    aBarGroup.GainFocus();
  }
  
  void ScInputWindow::TextInvalidate()
  {
--    aTextWindow.Invalidate();
++    aBarGroup.Invalidate();
  }
  
  void ScInputWindow::SwitchToTextWin()
  {
      // used for shift-ctrl-F2
  
--    aTextWindow.StartEditEngine();
++    aBarGroup.StartEditEngine();
      if ( SC_MOD()->IsEditMode() )
      {
--        aTextWindow.GrabFocus();
--        EditView* pView = aTextWindow.GetEditView();
++        aBarGroup.GainFocus();
++        EditView* pView = aBarGroup.GetEditView();
          if (pView)
          {
              xub_StrLen nLen = pView->GetEditEngine()->GetTextLen(0);
@@@ -725,11 -725,11 +715,82 @@@ void ScInputWindow::DataChanged( const 
  }
  
  //========================================================================
++//                  ScInputBarGroup
++//========================================================================
++
++ScInputBarGroup::ScInputBarGroup(Window* pParent)
++    :   Window          ( pParent, WinBits(WB_HIDE | WB_BORDER) ),
++        aTextWindow      ( this ),
++        maScrollBar     ( this,  WB_VERT | WB_DRAG ),
++        bIsMultiLine    ( false )
++{
++
++      aTextWindow.Show();
++      aTextWindow.SetQuickHelpText( ScResId( SCSTR_QHELP_INPUTWND ) );
++      aTextWindow.SetHelpId           ( HID_INSWIN_INPUT );
++      
++
++}
++
++ScInputBarGroup::~ScInputBarGroup()
++{
++
++}
++void ScInputBarGroup::SetTextString( const String& rString )
++{
++    aTextWindow.SetTextString(rString);
++}
++
++void ScInputBarGroup::Resize()
++{
++    long nWidth = GetSizePixel().Width();
++    long nLeft  = aTextWindow.GetPosPixel().X();
++    Size aSize  = aTextWindow.GetSizePixel();
++
++    aSize.Width() = Max( ((long)(nWidth - nLeft - 40)), (long)0 );
++    
++    aTextWindow.SetSizePixel( aSize );
++    aTextWindow.Invalidate();
++}
++
++void ScInputBarGroup::GainFocus()
++{
++    aTextWindow.GrabFocus();
++}
++
++
++void ScInputBarGroup::StartEditEngine()
++{
++    aTextWindow.StartEditEngine();
++}
++
++void ScInputBarGroup::MakeDialogEditView()
++{
++    aTextWindow.MakeDialogEditView();
++}
++
++
++EditView* ScInputBarGroup::GetEditView()
++{
++    return aTextWindow.GetEditView();
++}
++
++bool ScInputBarGroup::IsInputActive()
++{
++    return aTextWindow.IsInputActive();
++}
++
++void ScInputBarGroup::SetFormulaMode(bool bSet)
++{
++    aTextWindow.SetFormulaMode(bSet);
++}
++
++//========================================================================
  //                                                    Input Window
  //========================================================================
  
  ScTextWnd::ScTextWnd( Window* pParent )
--    : Window           ( pParent, WinBits(WB_HIDE | WB_BORDER) ),
++    :         Window           ( pParent, WinBits(WB_HIDE | WB_BORDER) ),
          DragSourceHelper( this ),
          pEditEngine    ( NULL ),
          pEditView      ( NULL ),
diff --git a/sc/source/ui/inc/inputwin.hxx b/sc/source/ui/inc/inputwin.hxx
index 9901ef2..6127115 100644
--- a/sc/source/ui/inc/inputwin.hxx
+++ b/sc/source/ui/inc/inputwin.hxx
@@ -165,16 +165,15 @@ public:
     void            SetSize(Size aSize);
     virtual void    Resize();
     void            InitEditEngine(SfxObjectShell* pObjSh);
-//    void            GrabFocus();
-    void            SetFormulaMode(bool bSet);
-    void            GetFocus();
+    void            GainFocus();
+    void            SetFormulaMode( bool bSet );
     bool            IsFocus();
     void            MakeDialogEditView();
-    
+    bool            IsInputActive();
 private:
     
-    ScrollBar          maScrollBar;
     ScTextWnd       aTextWindow;
+    ScrollBar          maScrollBar;
     bool            bIsMultiLine;
 
 };
@@ -230,7 +229,6 @@ protected:
 
 private:
     ScPosWnd           aWndPos;
-//    ScTextWnd                aTextWindow;
     ScInputBarGroup aBarGroup;
     ScInputHandler*    pInputHdl;
     SfxBindings*    pBindings;

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.