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

◆ UpdatePageButtons() [2/2]

void ServerBrowserTab::UpdatePageButtons ( )
inlineprivate

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

862 {
864 if (m_PagesCount < 1)
865 m_PagesCount = 1;
866
867 if ( m_PagesCount > 1 )
868 {
869 m_PnlPagesPanel.Show( true );
870
871 int i;
872 int btn_index_center = Math.Round( PAGES_BUTTONS_COUNT / 2) - 1;
873 m_PageStartNum = 1;
875
877 {
879
880 // Pages are less like buttons - changing selected button
881 for ( i = 1; i <= m_BtnPages.Count(); ++i )
882 {
883 bool is_page_button_enable = ( i <= m_PagesCount );
884
885 int page_index = (i - 1);
886 m_BtnPages[page_index].Show( is_page_button_enable );
887 m_BtnPages[page_index].SetText( i.ToString() );
888
889 if ( m_PageIndex == page_index )
890 {
891 m_BtnPages[page_index].SetState( true );
892 }
893 else
894 {
895 m_BtnPages[page_index].SetState( false );
896 }
897 }
898 }
899 else
900 {
901 // Pages are more like buttons
902 if ( m_PageIndex <= btn_index_center )
903 {
904 //Left side (start of pages)
905 //m_PageStartNum = 1;
906 //m_PageEndNum = PAGES_BUTTONS_COUNT;
907 }
908 else
909 {
910 m_PageStartNum = m_PageIndex - btn_index_center + 1;
911 m_PageEndNum = m_PageIndex + (PAGES_BUTTONS_COUNT - btn_index_center);
912
914 {
915 // Right side (end of pages)
918 }
919 }
920
921
922 // Button Selection
923 int selected_btn_index = m_PageIndex;
924 if ( m_PageIndex > btn_index_center )
925 {
926 if ( m_PageEndNum == m_PagesCount )
927 {
928 //Right
929 selected_btn_index = PAGES_BUTTONS_COUNT - (m_PagesCount - m_PageIndex);
930 }
931 else
932 {
933 //Center
934 selected_btn_index = btn_index_center;
935 }
936 }
937
938
939 for ( i = 0; i < m_BtnPages.Count(); ++i )
940 {
941 m_BtnPages[i].SetText( (m_PageStartNum + i).ToString() );
942 m_BtnPages[i].SetState( ( i == selected_btn_index ) );
943 }
944 }
945
946 // Button GoTo Prev Page
947 if ( m_PageIndex > 0 )
948 {
949 m_BtnPagePrev.SetText( "<" );
950 m_BtnPagePrev.Enable( true );
951 }
952 else
953 {
954 m_BtnPagePrev.SetText( "" );
955 m_BtnPagePrev.Enable( false );
956 }
957
958 // Button GoTo Next Page
959 if ( m_PageIndex < (m_PagesCount - 1) )
960 {
961 m_BtnPageNext.SetText( ">" );
962 m_BtnPageNext.Enable( true );
963 }
964 else
965 {
966 m_BtnPageNext.SetText( "" );
967 m_BtnPageNext.Enable( false );
968 }
969
970 // Button GoTo First Page
971 if ( m_PageStartNum == 1 )
972 {
973 m_BtnPagesFirst.SetText( "" );
974 m_BtnPagesFirst.Enable( false );
975 }
976 else
977 {
978 m_BtnPagesFirst.SetText( "<<" );
979 m_BtnPagesFirst.Enable( true );
980 }
981
982 // Button GoTo Last Page
983 if ( m_PageEndNum == m_PagesCount )
984 {
985 m_BtnPagesLast.SetText( "" );
986 m_BtnPagesLast.Enable( false );
987 }
988 else
989 {
990 m_BtnPagesLast.SetText( ">>" );
991 m_BtnPagesLast.Enable( true );
992 }
993 }
994 else
995 {
996 m_PnlPagesPanel.Show(false);
997 }
998 }
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:24
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
Определения ServerBrowserTabConsolePages.c:3

Перекрестные ссылки 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().