libyui-ncurses
 
Loading...
Searching...
No Matches
NCPopupMenu.h
1/*
2 Copyright (C) 2000-2012 Novell, Inc
3 This library is free software; you can redistribute it and/or modify
4 it under the terms of the GNU Lesser General Public License as
5 published by the Free Software Foundation; either version 2.1 of the
6 License, or (at your option) version 3.0 of the License. This library
7 is distributed in the hope that it will be useful, but WITHOUT ANY
8 WARRANTY; without even the implied warranty of MERCHANTABILITY or
9 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
10 License for more details. You should have received a copy of the GNU
11 Lesser General Public License along with this library; if not, write
12 to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
13 Floor, Boston, MA 02110-1301 USA
14*/
15
16
17/*-/
18
19 File: NCPopupMenu.h
20
21 Author: Michael Andres <ma@suse.de>
22
23/-*/
24
25#ifndef NCPopupMenu_h
26#define NCPopupMenu_h
27
28#include "NCPopupTable.h"
29#include "CyclicContainer.h"
30
31
32class NCPopupMenu : public NCPopupTable
33{
34private:
35
36 struct Item;
37
38 NCPopupMenu & operator=( const NCPopupMenu & );
39 NCPopupMenu( const NCPopupMenu & );
40
41 Item * selectedItem();
42
43 void selectNextItem();
44 void selectPreviousItem();
45 void updateSelectedItem();
46
47 CyclicContainer<Item>::Iterator findItem( YTableItem * tableItem );
48
49 void selectItem( CyclicContainer<Item>::Iterator item );
50
59
60protected:
61
62 virtual NCursesEvent wHandleInput( wint_t ch );
63 virtual NCursesEvent wHandleHotkey( wint_t key );
64
65 virtual bool postAgain();
66
67public:
68
69 NCPopupMenu( const wpos & at,
70 YItemIterator begin,
71 YItemIterator end );
72
73 virtual ~NCPopupMenu();
74
75};
76
77#endif // NCPopupMenu_h
Definition CyclicContainer.h:40
Definition NCurses.h:73
Screen position pair in the order line, column: (L, C)
Definition position.h:110
Definition NCPopupMenu.cc:33