Orcus
Toggle main menu visibility
Loading...
Searching...
No Matches
include
orcus
spreadsheet
view.hpp
1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
/*
3
* This Source Code Form is subject to the terms of the Mozilla Public
4
* License, v. 2.0. If a copy of the MPL was not distributed with this
5
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
*/
7
8
#ifndef INCLUDED_ORCUS_SPREADSHEET_VIEW_HPP
9
#define INCLUDED_ORCUS_SPREADSHEET_VIEW_HPP
10
11
#include "orcus/env.hpp"
12
#include "orcus/spreadsheet/types.hpp"
13
#include "orcus/spreadsheet/view_types.hpp"
14
15
#include <memory>
16
17
namespace
orcus {
namespace
spreadsheet {
18
19
class
sheet_view
;
20
class
document
;
21
22
class
ORCUS_SPM_DLLPUBLIC view
23
{
24
struct
impl;
25
std::unique_ptr<impl> mp_impl;
26
public
:
27
view() =
delete
;
28
view(
const
view&) =
delete
;
29
view(
document
& doc);
30
~view();
31
32
view& operator=(
const
view&) =
delete
;
33
34
sheet_view
* get_or_create_sheet_view(sheet_t
sheet
);
35
const
sheet_view
* get_sheet_view(sheet_t
sheet
)
const
;
36
37
void
set_active_sheet(sheet_t
sheet
);
38
sheet_t get_active_sheet()
const
;
39
};
40
41
class
ORCUS_SPM_DLLPUBLIC sheet_view
42
{
43
struct
impl;
44
std::unique_ptr<impl> mp_impl;
45
public
:
46
sheet_view() =
delete
;
47
sheet_view(
const
sheet_view&) =
delete
;
48
sheet_view(
view
& doc_view);
49
~sheet_view();
50
51
sheet_view& operator=(
const
sheet_view&) =
delete
;
52
53
const
range_t
& get_selection(sheet_pane_t pos)
const
;
54
55
void
set_selection(sheet_pane_t pos,
const
range_t
& range);
56
57
void
set_active_pane(sheet_pane_t pos);
58
sheet_pane_t get_active_pane()
const
;
59
60
void
set_split_pane(
double
hor_split,
double
ver_split,
const
address_t
& top_left_cell);
61
const
split_pane_t
& get_split_pane()
const
;
62
63
void
set_frozen_pane(col_t visible_cols, row_t visible_rows,
const
address_t
& top_left_cell);
64
const
frozen_pane_t
& get_frozen_pane()
const
;
65
66
view
& get_document_view();
67
};
68
69
}}
70
71
#endif
72
73
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
orcus::spreadsheet::document
Definition
document.hpp:55
orcus::spreadsheet::sheet_view
Definition
view.hpp:42
orcus::spreadsheet::sheet
Definition
sheet.hpp:42
orcus::spreadsheet::view
Definition
view.hpp:23
orcus::spreadsheet::address_t
Definition
types.hpp:689
orcus::spreadsheet::frozen_pane_t
Definition
view_types.hpp:76
orcus::spreadsheet::range_t
Definition
types.hpp:708
orcus::spreadsheet::split_pane_t
Definition
view_types.hpp:51
Generated on
for Orcus by
1.17.0