summaryrefslogtreecommitdiffstats
path: root/editeng/source/editeng/editsel.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'editeng/source/editeng/editsel.cxx')
-rw-r--r--editeng/source/editeng/editsel.cxx94
1 files changed, 94 insertions, 0 deletions
diff --git a/editeng/source/editeng/editsel.cxx b/editeng/source/editeng/editsel.cxx
new file mode 100644
index 000000000..3aeed7a6e
--- /dev/null
+++ b/editeng/source/editeng/editsel.cxx
@@ -0,0 +1,94 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#include "editsel.hxx"
+#include "impedit.hxx"
+#include <editeng/editview.hxx>
+
+
+
+EditSelFunctionSet::EditSelFunctionSet()
+{
+ pCurView = nullptr;
+}
+
+void EditSelFunctionSet::CreateAnchor()
+{
+ if ( pCurView )
+ pCurView->pImpEditView->CreateAnchor();
+}
+
+void EditSelFunctionSet::DestroyAnchor()
+{
+ // Only with multiple selection
+}
+
+void EditSelFunctionSet::SetCursorAtPoint( const Point& rPointPixel, bool )
+{
+ if ( pCurView )
+ pCurView->pImpEditView->SetCursorAtPoint( rPointPixel );
+}
+
+bool EditSelFunctionSet::IsSelectionAtPoint( const Point& rPointPixel )
+{
+ if ( pCurView )
+ return pCurView->pImpEditView->IsSelectionAtPoint( rPointPixel );
+
+ return false;
+}
+
+void EditSelFunctionSet::DeselectAtPoint( const Point& )
+{
+// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+// ! Implement when multiple selection is possible !
+// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+}
+
+void EditSelFunctionSet::BeginDrag()
+{
+ // Only with multiple selection
+}
+
+
+void EditSelFunctionSet::DeselectAll()
+{
+ if ( pCurView )
+ pCurView->pImpEditView->DeselectAll();
+}
+
+
+
+EditSelectionEngine::EditSelectionEngine() : SelectionEngine( nullptr )
+{
+ SetSelectionMode( SelectionMode::Range );
+ EnableDrag( true );
+}
+
+void EditSelectionEngine::SetCurView( EditView* pNewView )
+{
+ if ( GetFunctionSet() )
+ const_cast<EditSelFunctionSet*>(static_cast<const EditSelFunctionSet*>(GetFunctionSet()))->SetCurView( pNewView );
+
+ if ( pNewView )
+ SetWindow( pNewView->GetWindow() );
+ else
+ SetWindow( nullptr );
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */