Kaydet (Commit) 8d9b429e authored tarafından Tomaž Vajngerl's avatar Tomaž Vajngerl

refactor starmath view/edit classes to use RenderContext

Change-Id: I741e596a665119b50597586e9b0b5e8339a826ae
üst 571bbac2
...@@ -40,30 +40,25 @@ class SmCmdBoxWindow; ...@@ -40,30 +40,25 @@ class SmCmdBoxWindow;
class SmEditAccessible; class SmEditAccessible;
class CommandEvent; class CommandEvent;
/**************************************************************************/ void SmGetLeftSelectionPart(const ESelection &rSelection, sal_Int32 &nPara, sal_uInt16 &nPos);
void SmGetLeftSelectionPart(const ESelection &rSelection,
sal_Int32 &nPara, sal_uInt16 &nPos);
/**************************************************************************/
class SmEditWindow : public vcl::Window, public DropTargetHelper class SmEditWindow : public vcl::Window, public DropTargetHelper
{ {
::com::sun::star::uno::Reference< css::uno::Reference<css::accessibility::XAccessible> xAccessible;
::com::sun::star::accessibility::XAccessible > xAccessible; SmEditAccessible* pAccessible;
SmEditAccessible * pAccessible;
SmCmdBoxWindow &rCmdBox; SmCmdBoxWindow& rCmdBox;
std::unique_ptr<EditView> pEditView; std::unique_ptr<EditView> pEditView;
VclPtr<ScrollBar> pHScrollBar, VclPtr<ScrollBar> pHScrollBar;
pVScrollBar; VclPtr<ScrollBar> pVScrollBar;
VclPtr<ScrollBarBox> pScrollBox; VclPtr<ScrollBarBox> pScrollBox;
Idle aModifyIdle, Idle aModifyIdle;
aCursorMoveIdle; Idle aCursorMoveIdle;
ESelection aOldSelection; ESelection aOldSelection;
virtual void KeyInput(const KeyEvent& rKEvt) SAL_OVERRIDE; virtual void KeyInput(const KeyEvent& rKEvt) SAL_OVERRIDE;
virtual void Command(const CommandEvent& rCEvt) SAL_OVERRIDE; virtual void Command(const CommandEvent& rCEvt) SAL_OVERRIDE;
DECL_LINK(MenuSelectHdl, Menu *); DECL_LINK(MenuSelectHdl, Menu *);
DECL_LINK_TYPED(ModifyTimerHdl, Idle *, void); DECL_LINK_TYPED(ModifyTimerHdl, Idle *, void);
DECL_LINK_TYPED(CursorMoveTimerHdl, Idle *, void); DECL_LINK_TYPED(CursorMoveTimerHdl, Idle *, void);
...@@ -74,70 +69,72 @@ class SmEditWindow : public vcl::Window, public DropTargetHelper ...@@ -74,70 +69,72 @@ class SmEditWindow : public vcl::Window, public DropTargetHelper
virtual void MouseButtonUp(const MouseEvent &rEvt) SAL_OVERRIDE; virtual void MouseButtonUp(const MouseEvent &rEvt) SAL_OVERRIDE;
virtual void MouseButtonDown(const MouseEvent &rEvt) SAL_OVERRIDE; virtual void MouseButtonDown(const MouseEvent &rEvt) SAL_OVERRIDE;
virtual sal_Int8 AcceptDrop( const AcceptDropEvent& rEvt ) SAL_OVERRIDE; virtual sal_Int8 AcceptDrop( const AcceptDropEvent& rEvt ) SAL_OVERRIDE;
virtual sal_Int8 ExecuteDrop( const ExecuteDropEvent& rEvt ) SAL_OVERRIDE; virtual sal_Int8 ExecuteDrop( const ExecuteDropEvent& rEvt ) SAL_OVERRIDE;
virtual void Paint(vcl::RenderContext& rRenderContext, const Rectangle& rRect) SAL_OVERRIDE; virtual void Paint(vcl::RenderContext& rRenderContext, const Rectangle& rRect) SAL_OVERRIDE;
DECL_LINK(EditStatusHdl ,EditStatus *); DECL_LINK(EditStatusHdl ,EditStatus *);
DECL_LINK(ScrollHdl, ScrollBar *); DECL_LINK(ScrollHdl, ScrollBar *);
void CreateEditView(); void CreateEditView();
Rectangle AdjustScrollBars();
Rectangle AdjustScrollBars(); void SetScrollBarRanges();
void SetScrollBarRanges(); void InitScrollBars();
void InitScrollBars(); void InvalidateSlots();
void InvalidateSlots(); void UpdateStatus(bool bSetDocModified = false);
void UpdateStatus( bool bSetDocModified = false );
public: public:
SmEditWindow( SmCmdBoxWindow &rMyCmdBoxWin ); SmEditWindow(SmCmdBoxWindow& rMyCmdBoxWin);
virtual ~SmEditWindow(); virtual ~SmEditWindow();
virtual void dispose() SAL_OVERRIDE; virtual void dispose() SAL_OVERRIDE;
SmDocShell * GetDoc(); SmDocShell* GetDoc();
SmViewShell * GetView(); SmViewShell* GetView();
EditView * GetEditView(); EditView* GetEditView();
EditEngine * GetEditEngine(); EditEngine* GetEditEngine();
SfxItemPool * GetEditEngineItemPool(); SfxItemPool* GetEditEngineItemPool();
// Window // Window
virtual void SetText(const OUString &rText) SAL_OVERRIDE; virtual void SetText(const OUString& rText) SAL_OVERRIDE;
virtual OUString GetText() const SAL_OVERRIDE; virtual OUString GetText() const SAL_OVERRIDE;
virtual void GetFocus() SAL_OVERRIDE; virtual void GetFocus() SAL_OVERRIDE;
virtual void LoseFocus() SAL_OVERRIDE; virtual void LoseFocus() SAL_OVERRIDE;
ESelection GetSelection() const; ESelection GetSelection() const;
void SetSelection(const ESelection &rSel); void SetSelection(const ESelection& rSel);
bool IsEmpty() const; bool IsEmpty() const;
bool IsSelected() const; bool IsSelected() const;
bool IsAllSelected() const; bool IsAllSelected() const;
void Cut(); void Cut();
void Copy(); void Copy();
void Paste(); void Paste();
void Delete(); void Delete();
void SelectAll(); void SelectAll();
void InsertText(const OUString &rText); void InsertText(const OUString& rText);
void InsertCommand(sal_uInt16 nCommand); void InsertCommand(sal_uInt16 nCommand);
void MarkError(const Point &rPos); void MarkError(const Point &rPos);
void SelNextMark(); void SelNextMark();
void SelPrevMark(); void SelPrevMark();
static bool HasMark(const OUString &rText); static bool HasMark(const OUString &rText);
void Flush(); void Flush();
void DeleteEditView( SmViewShell &rView ); void DeleteEditView(SmViewShell& rView);
void ApplyColorConfigValues( const svtools::ColorConfig &rColorCfg ); void ApplyColorConfigValues(const svtools::ColorConfig& rColorCfg);
bool HandleWheelCommands( const CommandEvent &rCEvt ); bool HandleWheelCommands(const CommandEvent& rCEvt);
bool IsInlineEditEnabled(); bool IsInlineEditEnabled();
void StartCursorMove(); void StartCursorMove();
// for Accessibility // for Accessibility
virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > CreateAccessible() SAL_OVERRIDE; virtual css::uno::Reference<css::accessibility::XAccessible> CreateAccessible() SAL_OVERRIDE;
using Window::GetAccessible; using Window::GetAccessible;
SmEditAccessible * GetAccessible() { return pAccessible; } SmEditAccessible* GetAccessible()
{
return pAccessible;
}
}; };
......
...@@ -503,20 +503,20 @@ void SmEditWindow::KeyInput(const KeyEvent& rKEvt) ...@@ -503,20 +503,20 @@ void SmEditWindow::KeyInput(const KeyEvent& rKEvt)
} }
// get the current char of the key event // get the current char of the key event
sal_Unicode charCode = rKEvt.GetCharCode(); sal_Unicode cCharCode = rKEvt.GetCharCode();
OUString close; OUString sClose;
if (charCode == '{') if (cCharCode == '{')
close = " }"; sClose = " }";
else if (charCode == '[') else if (cCharCode == '[')
close = " ]"; sClose = " ]";
else if (charCode == '(') else if (cCharCode == '(')
close = " )"; sClose = " )";
// auto close the current character only when needed // auto close the current character only when needed
if (!close.isEmpty() && autoClose) if (!sClose.isEmpty() && autoClose)
{ {
pEditView->InsertText(close); pEditView->InsertText(sClose);
// position it at center of brackets // position it at center of brackets
aSelection.nStartPos += 2; aSelection.nStartPos += 2;
aSelection.nEndPos = aSelection.nStartPos; aSelection.nEndPos = aSelection.nStartPos;
...@@ -527,11 +527,11 @@ void SmEditWindow::KeyInput(const KeyEvent& rKEvt) ...@@ -527,11 +527,11 @@ void SmEditWindow::KeyInput(const KeyEvent& rKEvt)
} }
} }
void SmEditWindow::Paint(vcl::RenderContext& /*rRenderContext*/, const Rectangle& rRect) void SmEditWindow::Paint(vcl::RenderContext& rRenderContext, const Rectangle& rRect)
{ {
if (!pEditView) if (!pEditView)
CreateEditView(); CreateEditView();
pEditView->Paint(rRect); pEditView->Paint(rRect, &rRenderContext);
} }
void SmEditWindow::CreateEditView() void SmEditWindow::CreateEditView()
...@@ -542,7 +542,7 @@ void SmEditWindow::CreateEditView() ...@@ -542,7 +542,7 @@ void SmEditWindow::CreateEditView()
//! For example when the program is used by the document-converter //! For example when the program is used by the document-converter
if (!pEditView && pEditEngine) if (!pEditView && pEditEngine)
{ {
pEditView.reset(new EditView( pEditEngine, this )); pEditView.reset(new EditView(pEditEngine, this));
pEditEngine->InsertView( pEditView.get() ); pEditEngine->InsertView( pEditView.get() );
if (!pVScrollBar) if (!pVScrollBar)
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment