summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/menu.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-06-26 10:39:39 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-06-26 10:39:39 +0000
commit61cae4a761c2f72cda44ae269c7007b37a0c14a7 (patch)
treefec8ec71ca7ca6eebd9d48881bc5ee3fe27d04c1 /crawl-ref/source/menu.cc
parentd4acdf4a6a4b73607d58714a66efd372674adb56 (diff)
downloadcrawl-ref-61cae4a761c2f72cda44ae269c7007b37a0c14a7.tar.gz
crawl-ref-61cae4a761c2f72cda44ae269c7007b37a0c14a7.zip
Misc. minor cleanups. (Yes, a huge amount of them but still...)
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6146 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/menu.cc')
-rw-r--r--crawl-ref/source/menu.cc140
1 files changed, 75 insertions, 65 deletions
diff --git a/crawl-ref/source/menu.cc b/crawl-ref/source/menu.cc
index 3418517ea8..672bb3d14d 100644
--- a/crawl-ref/source/menu.cc
+++ b/crawl-ref/source/menu.cc
@@ -241,7 +241,7 @@ bool Menu::process_key( int keyin )
if (items.size() == 0)
{
lastch = keyin;
- return false;
+ return (false);
}
bool nav = false, repaint = false;
@@ -254,14 +254,14 @@ bool Menu::process_key( int keyin )
switch (keyin)
{
case 0:
- return true;
+ return (true);
case CK_ENTER:
- return false;
+ return (false);
case CK_ESCAPE:
case CK_MOUSE_B2:
sel.clear();
lastch = keyin;
- return false;
+ return (false);
case ' ': case CK_PGDN: case '>': case '\'':
case CK_MOUSE_B1:
nav = true;
@@ -293,7 +293,7 @@ bool Menu::process_key( int keyin )
{
nav = true;
const int breakpoint = (items.size() + 1) - pagesize;
- if ( first_entry < breakpoint )
+ if (first_entry < breakpoint)
{
first_entry = breakpoint;
repaint = true;
@@ -302,7 +302,7 @@ bool Menu::process_key( int keyin )
}
case CONTROL('F'):
{
- if ( !( flags & MF_ALLOW_FILTER ) )
+ if (!(flags & MF_ALLOW_FILTER))
break;
char linebuf[80];
cgotoxy(1,1);
@@ -311,20 +311,20 @@ bool Menu::process_key( int keyin )
cprintf("Select what? (regex) ");
textcolor(LIGHTGREY);
bool validline = !cancelable_get_line(linebuf, sizeof linebuf, 80);
- if ( validline && linebuf[0] )
+ if (validline && linebuf[0])
{
text_pattern tpat(linebuf, true);
- for ( unsigned int i = 0; i < items.size(); ++i )
+ for (unsigned int i = 0; i < items.size(); ++i)
{
- if ( items[i]->level == MEL_ITEM &&
- tpat.matches(items[i]->get_text()) )
+ if (items[i]->level == MEL_ITEM
+ && tpat.matches(items[i]->get_text()))
{
select_index(i);
- if ( flags & MF_SINGLESELECT )
+ if (flags & MF_SINGLESELECT)
{
// Return the first item found.
get_selected(&sel);
- return false;
+ return (false);
}
}
}
@@ -356,7 +356,7 @@ bool Menu::process_key( int keyin )
// If no selection at all is allowed, exit now.
if (!(flags & (MF_SINGLESELECT | MF_MULTISELECT)))
- return false;
+ return (false);
if (!is_set(MF_NO_SELECT_QTY) && isdigit( keyin ))
{
@@ -369,22 +369,23 @@ bool Menu::process_key( int keyin )
select_items( keyin, num );
get_selected( &sel );
if (sel.size() == 1 && (flags & MF_SINGLESELECT))
- return false;
+ return (false);
+
draw_select_count( sel.size() );
if (flags & MF_ANYPRINTABLE
&& (!isdigit(keyin) || is_set(MF_NO_SELECT_QTY)))
{
- return false;
+ return (false);
}
break;
}
- if (last_selected != -1 &&
- (items.size() == ((unsigned int) last_selected + 1)
- || items[last_selected + 1] == NULL
- || items[last_selected + 1]->level != MEL_ITEM))
+ if (last_selected != -1
+ && (items.size() == ((unsigned int) last_selected + 1)
+ || items[last_selected + 1] == NULL
+ || items[last_selected + 1]->level != MEL_ITEM))
{
last_selected = -1;
}
@@ -400,10 +401,10 @@ bool Menu::process_key( int keyin )
else if (sel.empty() && is_set(MF_EASY_EXIT))
{
sel.clear();
- return false;
+ return (false);
}
}
- return true;
+ return (true);
}
bool Menu::draw_title_suffix( const std::string &s, bool titlefirst )
@@ -417,7 +418,7 @@ bool Menu::draw_title_suffix( const std::string &s, bool titlefirst )
if (x > get_number_of_cols() || x < 1)
{
cgotoxy(oldx, oldy);
- return false;
+ return (false);
}
// Note: 1 <= x <= get_number_of_cols(); we have no fear of overflow.
@@ -429,7 +430,7 @@ bool Menu::draw_title_suffix( const std::string &s, bool titlefirst )
cprintf("%s", towrite.c_str());
cgotoxy( oldx, oldy );
- return true;
+ return (true);
}
bool Menu::draw_title_suffix( const formatted_string &fs, bool titlefirst )
@@ -443,7 +444,7 @@ bool Menu::draw_title_suffix( const formatted_string &fs, bool titlefirst )
if (x > get_number_of_cols() || x < 1)
{
cgotoxy(oldx, oldy);
- return false;
+ return (false);
}
// Note: 1 <= x <= get_number_of_cols(); we have no fear of overflow.
@@ -466,7 +467,7 @@ bool Menu::draw_title_suffix( const formatted_string &fs, bool titlefirst )
}
cgotoxy( oldx, oldy );
- return true;
+ return (true);
}
void Menu::draw_select_count( int count, bool force )
@@ -590,15 +591,16 @@ void Menu::select_items( int key, int qty )
bool Menu::is_selectable(int item) const
{
- if (select_filter.empty()) return true;
+ if (select_filter.empty())
+ return (true);
std::string text = items[item]->get_text();
for (int i = 0, count = select_filter.size(); i < count; ++i)
{
if (select_filter[i].matches(text))
- return true;
+ return (true);
}
- return false;
+ return (false);
}
void Menu::select_index( int index, int qty )
@@ -612,8 +614,10 @@ void Menu::select_index( int index, int qty )
for (int i = 0, count = items.size(); i < count; ++i)
{
if (items[i]->level != MEL_ITEM
- || items[i]->hotkeys.empty())
+ || items[i]->hotkeys.empty())
+ {
continue;
+ }
if (is_hotkey(i, items[i]->hotkeys[0]) && is_selectable(i))
{
last_selected = i;
@@ -628,8 +632,10 @@ void Menu::select_index( int index, int qty )
for (int i = si + 1, count = items.size(); i < count; ++i)
{
if (items[i]->level != MEL_ITEM
- || items[i]->hotkeys.empty())
+ || items[i]->hotkeys.empty())
+ {
continue;
+ }
if (is_hotkey(i, items[i]->hotkeys[0]))
{
last_selected = i;
@@ -638,8 +644,8 @@ void Menu::select_index( int index, int qty )
}
}
}
- else if (items[si]->level == MEL_ITEM &&
- (flags & (MF_SINGLESELECT | MF_MULTISELECT)))
+ else if (items[si]->level == MEL_ITEM
+ && (flags & (MF_SINGLESELECT | MF_MULTISELECT)))
{
last_selected = si;
items[si]->select( qty );
@@ -653,7 +659,8 @@ int Menu::get_entry_index( const MenuEntry *e ) const
for (unsigned int i = first_entry; i < items.size(); i++)
{
if (items[i] == e)
- return index;
+ return (index);
+
if (items[i]->quantity != 0)
index++;
}
@@ -673,9 +680,8 @@ void Menu::draw_menu()
if (end > (int) items.size()) end = items.size();
for (int i = first_entry; i < end; ++i)
- {
draw_item( i );
- }
+
if (end < (int) items.size() || is_set(MF_ALWAYS_SHOW_MORE))
{
cgotoxy( 1, y_offset + pagesize - count_linebreaks(more) );
@@ -781,9 +787,9 @@ bool Menu::page_down()
// first_entry = items.size() - pagesize;
if (old_first != first_entry)
- return true;
+ return (true);
}
- return false;
+ return (false);
}
bool Menu::page_up()
@@ -794,10 +800,11 @@ bool Menu::page_up()
{
if ((first_entry -= pagesize) < 0)
first_entry = 0;
+
if (old_first != first_entry)
- return true;
+ return (true);
}
- return false;
+ return (false);
}
bool Menu::line_down()
@@ -805,9 +812,9 @@ bool Menu::line_down()
if (first_entry + pagesize < (int) items.size())
{
++first_entry;
- return true;
+ return (true);
}
- return false;
+ return (false);
}
bool Menu::line_up()
@@ -815,9 +822,9 @@ bool Menu::line_up()
if (first_entry > 0)
{
--first_entry;
- return true;
+ return (true);
}
- return false;
+ return (false);
}
/////////////////////////////////////////////////////////////////
@@ -1507,13 +1514,15 @@ void print_formatted_paragraph(std::string &s, int maxcol,
bool formatted_scroller::jump_to( int i )
{
- if ( i == first_entry + 1 )
- return false;
- if ( i == 0 )
+ if (i == first_entry + 1)
+ return (false);
+
+ if (i == 0)
first_entry = 0;
else
first_entry = i - 1;
- return true;
+
+ return (true);
}
// Don't scroll past MEL_TITLE entries
@@ -1521,8 +1530,8 @@ bool formatted_scroller::page_down()
{
const int old_first = first_entry;
- if ( (int)items.size() <= first_entry + pagesize )
- return false;
+ if ((int) items.size() <= first_entry + pagesize)
+ return (false);
// If, when scrolling forward, we encounter a MEL_TITLE
// somewhere in the newly displayed page, stop scrolling
@@ -1546,13 +1555,14 @@ bool formatted_scroller::page_up()
// somewhere in the newly displayed page, stop scrolling
// just before it becomes visible
- if ( items[first_entry]->level == MEL_TITLE )
- return false;
+ if (items[first_entry]->level == MEL_TITLE)
+ return (false);
for ( int i = 0; i < pagesize; ++i )
{
if (first_entry == 0 || items[first_entry-1]->level == MEL_TITLE)
break;
+
--first_entry;
}
@@ -1565,9 +1575,9 @@ bool formatted_scroller::line_down()
items[first_entry + pagesize]->level != MEL_TITLE )
{
++first_entry;
- return true;
+ return (true);
}
- return false;
+ return (false);
}
bool formatted_scroller::line_up()
@@ -1576,17 +1586,18 @@ bool formatted_scroller::line_up()
items[first_entry]->level != MEL_TITLE)
{
--first_entry;
- return true;
+ return (true);
}
- return false;
+ return (false);
}
bool formatted_scroller::jump_to_hotkey( int keyin )
{
- for ( unsigned int i = 0; i < items.size(); ++i )
- if ( items[i]->is_hotkey(keyin) )
+ for (unsigned int i = 0; i < items.size(); ++i)
+ if (items[i]->is_hotkey(keyin))
return jump_to(i);
- return false;
+
+ return (false);
}
@@ -1599,13 +1610,13 @@ bool formatted_scroller::process_key( int keyin )
bool repaint = false;
// Any key is assumed to be a movement key for now...
bool moved = true;
- switch ( keyin )
+ switch (keyin)
{
case 0:
- return true;
+ return (true);
case -1:
case CK_ESCAPE:
- return false;
+ return (false);
case ' ': case '+': case '=': case CK_PGDN: case '>': case '\'':
#ifdef USE_TILE
case CK_MOUSE_B5:
@@ -1641,12 +1652,11 @@ bool formatted_scroller::process_key( int keyin )
select_items( keyin, -1 );
get_selected( &sel );
if (sel.size() >= 1)
- return false;
+ return (false);
}
else
- {
repaint = jump_to_hotkey(keyin);
- }
+
break;
}
@@ -1655,7 +1665,7 @@ bool formatted_scroller::process_key( int keyin )
else if (moved && is_set(MF_EASY_EXIT))
return (false);
- return true;
+ return (true);
}
int ToggleableMenu::pre_process(int key)