2
* Copyright (C) 2010 Canonical Ltd
4
* This program is free software: you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License version 3 as
6
* published by the Free Software Foundation.
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
13
* You should have received a copy of the GNU General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
16
* Authored by: Neil Jagdish Patel <neil.patel@canonical.com>
19
#ifndef PANEL_INDICATOR_OBJECT_VIEW_H
20
#define PANEL_INDICATOR_OBJECT_VIEW_H
24
#include "IndicatorObjectProxy.h"
25
#include "PanelIndicatorObjectEntryView.h"
27
class PanelIndicatorObjectView : public nux::View
30
PanelIndicatorObjectView (IndicatorObjectProxy *proxy);
31
~PanelIndicatorObjectView ();
33
virtual long ProcessEvent (nux::IEvent &ievent, long TraverseInfo, long ProcessEventInfo);
34
virtual void Draw (nux::GraphicsContext& GfxContext, bool force_draw);
35
virtual void DrawContent (nux::GraphicsContext &GfxContext, bool force_draw);
37
void OnEntryAdded (IndicatorObjectEntryProxy *proxy);
38
void OnEntryMoved (IndicatorObjectEntryProxy *proxy);
39
void OnEntryRemoved (IndicatorObjectEntryProxy *proxy);
42
nux::HLayout *_layout;
43
IndicatorObjectProxy *_proxy;
44
std::vector<PanelIndicatorObjectEntryView *> _entries;
47
#endif // PANEL_INDICATOR_OBJECT_VIEW_H