wxMaxima
Loading...
Searching...
No Matches
SymbolsSidebar.h
Go to the documentation of this file.
1// -*- mode: c++; c-file-style: "linux"; c-basic-offset: 2; indent-tabs-mode: nil -*-
2//
3// Copyright (C) 2004-2015 Andrej Vodopivec <andrej.vodopivec@gmail.com>
4// (C) 2012 Doug Ilijev <doug.ilijev@gmail.com>
5// (C) 2014-2015 Gunter Königsmann <wxMaxima@physikbuch.de>
6//
7// This program is free software; you can redistribute it and/or modify
8// it under the terms of the GNU General Public License as published by
9// the Free Software Foundation; either version 2 of the License, or
10// (at your option) any later version.
11//
12// This program is distributed in the hope that it will be useful,
13// but WITHOUT ANY WARRANTY; without even the implied warranty of
14// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15// GNU General Public License for more details.
16//
17//
18// You should have received a copy of the GNU General Public License
19// along with this program; if not, write to the Free Software
20// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21//
22// SPDX-License-Identifier: GPL-2.0+
23
30#ifndef SYMBOLSSIDEBAR_H
31#define SYMBOLSSIDEBAR_H
32
33#include "precomp.h"
34#include <array>
35#include <wx/wx.h>
36#include "EventIDs.h"
37#include <wx/sizer.h>
38#include <wx/panel.h>
39#include "CharButton.h"
40#include "ButtonWrapSizer.h"
41#include <list>
42
43
44//cppcheck-suppress ODR
45class SymbolsSidebar : public wxScrolled<wxPanel>
46{
47public:
48 SymbolsSidebar(wxWindow *parent, Configuration *configuration, wxWindow *worksheet, int ID = wxID_ANY);
50 void UpdateUserSymbols();
55 void AddUserSymbols();
56protected:
57 void OnMouseRightDown(wxMouseEvent &event);
58 void OnMenu(wxCommandEvent &event);
59 void OnSize(wxSizeEvent &event);
60private:
62 wxPanel *m_userSymbols;
64 std::list<wxWindow *> m_userSymbolButtons;
65 wxSizer *m_userSymbolsSizer;
66 Configuration *m_configuration;
67 wxWindow *m_worksheet;
69 wxString m_userSymbols_Last;
70};
71
72#endif // SYMBOLSSIDEBAR_H
This file contains the definition of the class Buttonwrapsizer that allows to select arbitrary unicod...
This file contains the definition of the class Charbutton that allows to select arbitrary unicode sym...
This file declares the class EventIDs that contains unique IDs for many events wxMaxima needs.
The configuration storage for the current worksheet.
Definition: Configuration.h:85
Definition: SymbolsSidebar.h:46
void AddUserSymbols()
Add the symbols to the "user symbols" portion of the symbols pane.
Definition: SymbolsSidebar.cpp:216
void UpdateUserSymbols()
Update the "user symbols" portion of the symbols pane.
Definition: SymbolsSidebar.cpp:198
Definition: CellPointers.h:32