DayZ 1.29
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ UpdatePageButtons() [2/2]

void ServerBrowserTab::UpdatePageButtons ( )
inlineprivate

См. определение в файле ServerBrowserTabPc.c строка 954

955 {
957 if ( m_PagesCount > 1 )
958 {
959 m_PnlPagesPanel.Show( true );
960
961 int i;
962 int btn_index_center = Math.Round( PAGES_BUTTONS_COUNT / 2) - 1;
963 m_PageStartNum = 1;
965
967 {
969
970 // Pages are less like buttons - changing selected button
971 for ( i = 1; i <= m_BtnPages.Count(); ++i )
972 {
973 bool is_page_button_enable = ( i <= m_PagesCount );
974
975 int page_index = (i - 1);
976 m_BtnPages[page_index].Show( is_page_button_enable );
977 m_BtnPages[page_index].SetText( i.ToString() );
978
979 if ( m_PageIndex == page_index )
980 {
981 m_BtnPages[page_index].SetState( true );
982 }
983 else
984 {
985 m_BtnPages[page_index].SetState( false );
986 }
987 }
988 }
989 else
990 {
991 // Pages are more like buttons
992 if ( m_PageIndex <= btn_index_center )
993 {
994 //Left side (start of pages)
995 //m_PageStartNum = 1;
996 //m_PageEndNum = PAGES_BUTTONS_COUNT;
997 }
998 else
999 {
1000 m_PageStartNum = m_PageIndex - btn_index_center + 1;
1001 m_PageEndNum = m_PageIndex + (PAGES_BUTTONS_COUNT - btn_index_center);
1002
1003 if ( m_PageEndNum > m_PagesCount )
1004 {
1005 // Right side (end of pages)
1008 }
1009 }
1010
1011
1012 // Button Selection
1013 int selected_btn_index = m_PageIndex;
1014 if ( m_PageIndex > btn_index_center )
1015 {
1016 if ( m_PageEndNum == m_PagesCount )
1017 {
1018 //Right
1019 selected_btn_index = PAGES_BUTTONS_COUNT - (m_PagesCount - m_PageIndex);
1020 }
1021 else
1022 {
1023 //Center
1024 selected_btn_index = btn_index_center;
1025 }
1026 }
1027
1028
1029 for ( i = 0; i < m_BtnPages.Count(); ++i )
1030 {
1031 m_BtnPages[i].SetText( (m_PageStartNum + i).ToString() );
1032 m_BtnPages[i].SetState( ( i == selected_btn_index ) );
1033 }
1034 }
1035
1036 // Button GoTo Prev Page
1037 if ( m_PageIndex > 0 )
1038 {
1039 m_BtnPagePrev.SetText( "<" );
1040 m_BtnPagePrev.Enable( true );
1041 }
1042 else
1043 {
1044 m_BtnPagePrev.SetText( "" );
1045 m_BtnPagePrev.Enable( false );
1046 }
1047
1048 // Button GoTo Next Page
1049 if ( m_PageIndex < (m_PagesCount - 1) )
1050 {
1051 m_BtnPageNext.SetText( ">" );
1052 m_BtnPageNext.Enable( true );
1053 }
1054 else
1055 {
1056 m_BtnPageNext.SetText( "" );
1057 m_BtnPageNext.Enable( false );
1058 }
1059
1060 // Button GoTo First Page
1061 if ( m_PageStartNum == 1 )
1062 {
1063 m_BtnPagesFirst.SetText( "" );
1064 m_BtnPagesFirst.Enable( false );
1065 }
1066 else
1067 {
1068 m_BtnPagesFirst.SetText( "<<" );
1069 m_BtnPagesFirst.Enable( true );
1070 }
1071
1072 // Button GoTo Last Page
1073 if ( m_PageEndNum == m_PagesCount )
1074 {
1075 m_BtnPagesLast.SetText( "" );
1076 m_BtnPagesLast.Enable( false );
1077 }
1078 else
1079 {
1080 m_BtnPagesLast.SetText( ">>" );
1081 m_BtnPagesLast.Enable( true );
1082 }
1083 }
1084 else
1085 {
1086 m_PnlPagesPanel.Show(false);
1087 }
1088 }
proto string ToString()
ButtonWidget m_BtnPageNext
Определения ServerBrowserTab.c:73
int m_TotalLoadedServers
Определения ServerBrowserTab.c:49
ButtonWidget m_BtnPagePrev
Определения ServerBrowserTab.c:72
Widget m_PnlPagesPanel
Определения ServerBrowserTabConsolePages.c:22
ref array< ButtonWidget > m_BtnPages
Определения ServerBrowserTabPc.c:23
ButtonWidget m_BtnPagesFirst
Определения ServerBrowserTabPc.c:15
int m_PageIndex
Определения ServerBrowserTabPc.c:7
const int PAGES_BUTTONS_COUNT
Определения ServerBrowserTabPc.c:4
ButtonWidget m_BtnPagesLast
Определения ServerBrowserTabPc.c:16
const int SERVERS_VISIBLE_COUNT
Определения ServerBrowserTabPc.c:3

Перекрестные ссылки Math::Ceil(), m_BtnPageNext, m_BtnPagePrev, m_BtnPages, m_BtnPagesFirst, m_BtnPagesLast, m_PageEndNum, m_PageIndex, m_PagesCount, m_PageStartNum, m_PnlPagesPanel, m_TotalLoadedServers, PAGES_BUTTONS_COUNT, Math::Round(), SERVERS_VISIBLE_COUNT и ToString().