LibreOffice Module toolkit (master) 1
mousefunction.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#pragma once
21
22#include "tabletypes.hxx"
23
25
26class MouseEvent;
27
28namespace svt::table
29{
30class ITableControl;
31
32//= FunctionResult
33
35{
39
41};
42
43//= MouseFunction
44
46{
47public:
49 MouseFunction(const MouseFunction&) = delete;
51 virtual FunctionResult handleMouseMove(ITableControl& i_tableControl, MouseEvent const& i_event)
52 = 0;
53 virtual FunctionResult handleMouseDown(ITableControl& i_tableControl, MouseEvent const& i_event)
54 = 0;
55 virtual FunctionResult handleMouseUp(ITableControl& i_tableControl, MouseEvent const& i_event)
56 = 0;
57
58protected:
59 virtual ~MouseFunction() override {}
60};
61
62//= ColumnResize
63
64class ColumnResize final : public MouseFunction
65{
66public:
69 {
70 }
71
72public:
73 // MouseFunction
74 virtual FunctionResult handleMouseMove(ITableControl& i_tableControl,
75 MouseEvent const& i_event) override;
76 virtual FunctionResult handleMouseDown(ITableControl& i_tableControl,
77 MouseEvent const& i_event) override;
78 virtual FunctionResult handleMouseUp(ITableControl& i_tableControl,
79 MouseEvent const& i_event) override;
80
81private:
83};
84
85//= RowSelection
86
87class RowSelection final : public MouseFunction
88{
89public:
91 : m_bActive(false)
92 {
93 }
94
95public:
96 // MouseFunction
97 virtual FunctionResult handleMouseMove(ITableControl& i_tableControl,
98 MouseEvent const& i_event) override;
99 virtual FunctionResult handleMouseDown(ITableControl& i_tableControl,
100 MouseEvent const& i_event) override;
101 virtual FunctionResult handleMouseUp(ITableControl& i_tableControl,
102 MouseEvent const& i_event) override;
103
104private:
106};
107
108//= ColumnSortHandler
109
111{
112public:
115 {
116 }
117
118public:
119 // MouseFunction
120 virtual FunctionResult handleMouseMove(ITableControl& i_tableControl,
121 MouseEvent const& i_event) override;
122 virtual FunctionResult handleMouseDown(ITableControl& i_tableControl,
123 MouseEvent const& i_event) override;
124 virtual FunctionResult handleMouseUp(ITableControl& i_tableControl,
125 MouseEvent const& i_event) override;
126
127private:
129};
130
131} // namespace svt::table
132
133/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
virtual FunctionResult handleMouseDown(ITableControl &i_tableControl, MouseEvent const &i_event) override
virtual FunctionResult handleMouseUp(ITableControl &i_tableControl, MouseEvent const &i_event) override
virtual FunctionResult handleMouseMove(ITableControl &i_tableControl, MouseEvent const &i_event) override
virtual FunctionResult handleMouseDown(ITableControl &i_tableControl, MouseEvent const &i_event) override
virtual FunctionResult handleMouseMove(ITableControl &i_tableControl, MouseEvent const &i_event) override
virtual FunctionResult handleMouseUp(ITableControl &i_tableControl, MouseEvent const &i_event) override
defines a callback interface to be implemented by a concrete table control
MouseFunction(const MouseFunction &)=delete
virtual ~MouseFunction() override
virtual FunctionResult handleMouseUp(ITableControl &i_tableControl, MouseEvent const &i_event)=0
virtual FunctionResult handleMouseDown(ITableControl &i_tableControl, MouseEvent const &i_event)=0
MouseFunction & operator=(const MouseFunction &)=delete
virtual FunctionResult handleMouseMove(ITableControl &i_tableControl, MouseEvent const &i_event)=0
virtual FunctionResult handleMouseDown(ITableControl &i_tableControl, MouseEvent const &i_event) override
virtual FunctionResult handleMouseUp(ITableControl &i_tableControl, MouseEvent const &i_event) override
virtual FunctionResult handleMouseMove(ITableControl &i_tableControl, MouseEvent const &i_event) override
sal_Int32 ColPos
a value denoting a column position within a table
Definition: tabletypes.hxx:32
#define COL_INVALID
denotes an invalid column index
Definition: tabletypes.hxx:44