Scroom 0.14-48-ga0fee447
Loading...
Searching...
No Matches
colormapprovider.hh
Go to the documentation of this file.
1/*
2 * Scroom - Generic viewer for 2D data
3 * Copyright (C) 2009-2026 Kees-Jan Dijkzeul
4 *
5 * SPDX-License-Identifier: LGPL-2.1
6 */
7
8#pragma once
9
10#include <map>
11#include <memory>
12
13#include <gtk/gtk.h>
14
16#include <scroom/logger.hh>
17#include <scroom/observable.hh>
19
21{
28 : public Viewable
29 , public std::enable_shared_from_this<ColormapProvider>
30 {
31 public:
32 using Ptr = std::shared_ptr<ColormapProvider>;
33
34 private:
37
40
42 GtkListStore* colormaps{nullptr};
43
47
49 explicit ColormapProvider(const Colormappable::Ptr& c);
50
51 public:
54
56 ~ColormapProvider() override;
57
62
63 // Viewable ////////////////////////////////////////////////////////////
64
66 void open(ViewInterface::WeakPtr vi) override;
67
69 void close(ViewInterface::WeakPtr vi) override;
70
71 // Helpers /////////////////////////////////////////////////////////////
72
74 void on_colormap_selected(GtkTreeView* tv);
75 };
76
77} // namespace Scroom::ColormapImpl
std::shared_ptr< Colormappable > Ptr
Definition colormappable.hh:114
std::weak_ptr< Colormappable > WeakPtr
Definition colormappable.hh:115
std::shared_ptr< PresentationInterface > Ptr
Definition presentationinterface.hh:73
Definition colormapprovider.hh:30
Colormappable::WeakPtr colormappable
Definition colormapprovider.hh:36
void on_colormap_selected(GtkTreeView *tv)
Definition colormapprovider.cc:145
Scroom::Logger logger
Definition colormapprovider.hh:46
std::shared_ptr< ColormapProvider > Ptr
Definition colormapprovider.hh:32
ColormapProvider operator=(ColormapProvider &&)=delete
ColormapProvider(ColormapProvider &&)=delete
~ColormapProvider() override
Definition colormapprovider.cc:102
void open(ViewInterface::WeakPtr vi) override
Definition colormapprovider.cc:122
void close(ViewInterface::WeakPtr vi) override
Definition colormapprovider.cc:135
ColormapProvider(const ColormapProvider &)=delete
ColormapProvider operator=(const ColormapProvider &)=delete
static ColormapProvider::Ptr create(const PresentationInterface::Ptr &p)
Definition colormapprovider.cc:47
GtkListStore * colormaps
Definition colormapprovider.hh:42
Scroom::Utils::Stuff registration
Definition colormapprovider.hh:45
Scroom::Utils::WeakKeyMap< ViewInterface::WeakPtr, GtkTreeView * > views
Definition colormapprovider.hh:39
Definition logger.hh:49
std::weak_ptr< ViewInterface > WeakPtr
Definition viewinterface.hh:194
Definition presentationinterface.hh:32
PresentationInterfaceStub::Ptr const p
Definition determine-size-test.cc:172
Definition colormapplugin.cc:22
std::map< K, V, std::owner_less< K > > WeakKeyMap
Definition utilities.hh:118
std::shared_ptr< void > Stuff
Definition stuff.hh:17
ViewInterface::Ptr const vi
Definition pipette-tests.cc:186
Semaphore c(0)