UBDesktopPalette.h 2.66 KB
Newer Older
Claudio Valerio's avatar
Claudio Valerio committed
1
/*
2
 * Copyright (C) 2015-2018 Département de l'Instruction Publique (DIP-SEM)
Craig Watson's avatar
Craig Watson committed
3
 *
Claudio Valerio's avatar
Claudio Valerio committed
4
 * Copyright (C) 2013 Open Education Foundation
Claudio Valerio's avatar
Claudio Valerio committed
5
 *
Claudio Valerio's avatar
Claudio Valerio committed
6 7
 * Copyright (C) 2010-2013 Groupement d'Intérêt Public pour
 * l'Education Numérique en Afrique (GIP ENA)
8
 *
Claudio Valerio's avatar
Claudio Valerio committed
9 10 11
 * This file is part of OpenBoard.
 *
 * OpenBoard is free software: you can redistribute it and/or modify
Claudio Valerio's avatar
Claudio Valerio committed
12 13
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, version 3 of the License,
14 15 16 17
 * with a specific linking exception for the OpenSSL project's
 * "OpenSSL" library (or with modified versions of it that use the
 * same license as the "OpenSSL" library).
 *
Claudio Valerio's avatar
Claudio Valerio committed
18
 * OpenBoard is distributed in the hope that it will be useful,
19
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Claudio Valerio's avatar
Claudio Valerio committed
20
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
Claudio Valerio's avatar
Claudio Valerio committed
21
 * GNU General Public License for more details.
22
 *
Claudio Valerio's avatar
Claudio Valerio committed
23
 * You should have received a copy of the GNU General Public License
Claudio Valerio's avatar
Claudio Valerio committed
24
 * along with OpenBoard. If not, see <http://www.gnu.org/licenses/>.
Claudio Valerio's avatar
Claudio Valerio committed
25 26
 */

27

Claudio Valerio's avatar
Claudio Valerio committed
28

Claudio Valerio's avatar
Claudio Valerio committed
29

Claudio Valerio's avatar
Claudio Valerio committed
30 31 32 33 34 35 36
#ifndef UBUNINOTESWINDOW_H_
#define UBUNINOTESWINDOW_H_
#include <QtGui>
#include <QShowEvent>
#include <QHideEvent>

#include "gui/UBActionPalette.h"
Anatoly Mihalchenko's avatar
Anatoly Mihalchenko committed
37
#include "gui/UBRightPalette.h"
Claudio Valerio's avatar
Claudio Valerio committed
38 39 40 41 42 43

/**
 * The uninotes window. This window is controlled by UBUninotesWindowController.
 */
class UBDesktopPalette : public UBActionPalette
{
44
    Q_OBJECT
Claudio Valerio's avatar
Claudio Valerio committed
45 46

    public:
Anatoly Mihalchenko's avatar
Anatoly Mihalchenko committed
47
        UBDesktopPalette(QWidget *parent, UBRightPalette* rightPalette);
Claudio Valerio's avatar
Claudio Valerio committed
48 49 50 51 52 53 54 55 56 57 58
        virtual ~UBDesktopPalette();

        void disappearForCapture();
        void appear();
        QPoint buttonPos(QAction* action);

    signals:
        void uniboardClick();
        void customClick();
        void windowClick();
        void screenClick();
59

60
//#ifdef Q_OS_LINUX //TODO: check why this produces an error on linux if uncommented
61
        void refreshMask();
62
//#endif
Claudio Valerio's avatar
Claudio Valerio committed
63 64 65 66 67 68 69

    public slots:

        void showHideClick(bool checked);
        void updateShowHideState(bool pShowEnabled);
        void setShowHideButtonVisible(bool visible);
        void setDisplaySelectButtonVisible(bool show);
Claudio Valerio's avatar
Claudio Valerio committed
70
        void minimizeMe(eMinimizedLocation location);
Claudio Valerio's avatar
Claudio Valerio committed
71
        void maximizeMe();
Anatoly Mihalchenko's avatar
Anatoly Mihalchenko committed
72
        void parentResized();
Claudio Valerio's avatar
Claudio Valerio committed
73 74 75 76 77

protected:
        void showEvent(QShowEvent *event);
        void hideEvent(QHideEvent *event);

78
        virtual int getParentRightOffset();
Anatoly Mihalchenko's avatar
Anatoly Mihalchenko committed
79

80
private:
Claudio Valerio's avatar
Claudio Valerio committed
81 82 83 84 85 86 87
        QAction *mShowHideAction;
        QAction *mDisplaySelectAction;
        QAction *mMaximizeAction;
        QAction *mActionUniboard;
        QAction *mActionCustomSelect;
        QAction* mActionTest;

Anatoly Mihalchenko's avatar
Anatoly Mihalchenko committed
88 89

        UBRightPalette* rightPalette;
90
        void adjustPosition();
Anatoly Mihalchenko's avatar
Anatoly Mihalchenko committed
91

92 93

signals:
Claudio Valerio's avatar
Claudio Valerio committed
94 95 96 97 98
        void stylusToolChanged(int tool);

};

#endif /* UBUNINOTESWINDOW_H_ */