⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 menu.cpp

📁 湖北水文黄石试点集中器代码
💻 CPP
📖 第 1 页 / 共 3 页
字号:

   Config_MultiCounterRatio( 0x02, WLMultiRatio );
   
   MENUManager.ShowMenu( 4 );   
        
   return 0;
   
}

void Menu2_8::AbnormalPro( )
{  
   MENUManager.ShowMenu( 4 );
}

void Menu2_8::GetInputData( char abyte, char mulkeyflg )
{
	 Item2_8_1.PutInStr( abyte, mulkeyflg );
	 ShowAsActive( ActItemIdx );
}


void Menu2_8::DeleteInputData( )
{
	 Item2_8_1.DeleteAByte(  );
	 ShowAsActive( ActItemIdx );
}

////////////////////////////////////////////////////////



Menu5::Menu5( ) : Menu( )
{
   SetMenuFormat( 1 );  //add by wuhuan 06.06.21

   Menu5_1.SetNameUnit( "1.上线" );
   Menu5_2.SetNameUnit( "2.下线" );   
   Menu5_3.SetNameUnit( "3.心跳时间" );
   Menu5_4.SetNameUnit( "4.下线时间" );
   
   AddItem( (Item*)&Menu5_1 );
   AddItem( (Item*)&Menu5_2 );
   AddItem( (Item*)&Menu5_3 );
   AddItem( (Item*)&Menu5_4 );   
  
}

void Menu5::VarItemInit( )
{
}

int  Menu5::ManualPro( )
{
   switch( ActItemIdx )
   {
      case 0:    TaskFlg = PPPConneting;  KeyPassState=LOCK;  LCD_Clearup();  break;
      case 1:   
      	 if (PPPState==PPPLINKUP )
      		{
      	   CloseAllTCPConn( ); TaskFlg = NeedInitUART;
        	}
      	    break;
      	 
      case 2:    MENUManager.ShowMenu( 12 );   break;      
      case 3:    MENUManager.ShowMenu( 13 );   break;     	      	
      default:   break;
   }
   return 0;
}

void Menu5::AbnormalPro( )
{
   MENUManager.ShowMenu( 0 );
}


////////////////////////////////////////////////////
Menu5_3::Menu5_3( ) : Menu( )
{
   char str[10];
   
   //str[0]='\0';
   
   SetMenuFormat( 1 );  //add by wuhuan 06.07.11
   
   Item5_3.SetNameUnit( "请输入(s):" );
   
   sprintf( str, "%d", HeartBeat/20 );
   
   Item5_3.DefineItem( 3, str );
   
   AddItem( (Item*)&Item5_3 );

}

void Menu5_3::VarItemInit( )
{
}

int  Menu5_3::ManualPro( )
{
	 //int len;
	 int  heartbeat;
	 char str[10];
	 
	 Item5_3.GetOutInPutStr( str );
	 
	 if(str[0]=='\0') strcpy( str, "60" );
	 	
	 heartbeat = atoi(str);
   if(heartbeat<5) heartbeat = 5;
   else if(heartbeat>600) heartbeat = 600;
   	
	 HeartBeat = heartbeat*20;
	  
   MENUManager.ShowMenu( 11 );     

   return 0;
}

void Menu5_3::AbnormalPro( )
{  
	 //Item5_3.ItemInit(  );
   MENUManager.ShowMenu( 11 );
}

void Menu5_3::GetInputData( char abyte, char mulkeyflg )
{
	 Item5_3.PutInStr( abyte, mulkeyflg );
	 ShowAsActive( ActItemIdx );
}


void Menu5_3::DeleteInputData( )
{
	 Item5_3.DeleteAByte(  );
	 ShowAsActive( ActItemIdx );
}


////////////////////////////////////////////////////
Menu5_4::Menu5_4( ) : Menu( )
{
   char str[10];
   
   //str[0]='\0';
   
   SetMenuFormat( 1 );  //add by wuhuan 06.07.11
   
   Item5_4.SetNameUnit( "请输入(min):" );
   
   sprintf( str, "%d", TalkTime/1080 );
   
   Item5_4.DefineItem( 2, str );
   
   AddItem( (Item*)&Item5_4 );

}

void Menu5_4::VarItemInit( )
{
}

int  Menu5_4::ManualPro( )
{
	 int  talktime;
	 char str[50];
	 
	 Item5_4.GetOutInPutStr( str );
	 
	 if(str[0]=='\0') strcpy( str, "3" );
	 
	 talktime = atoi(str);
	 
	 if(talktime<1) TalkTime = 1080;
	 else if(talktime<=30) TalkTime = talktime*1080;
	 else TalkTime = 30*1080;
   
   MENUManager.ShowMenu( 11 );     

   return 0;
}

void Menu5_4::AbnormalPro( )
{  
	 //Item5_4.ItemInit(  );
   MENUManager.ShowMenu( 11 );
}

void Menu5_4::GetInputData( char abyte, char mulkeyflg )
{
	 Item5_4.PutInStr( abyte, mulkeyflg );
	 ShowAsActive( ActItemIdx );
}


void Menu5_4::DeleteInputData( )
{
	 Item5_4.DeleteAByte(  );
	 ShowAsActive( ActItemIdx );
}


////////////////////////////////////////////////////
Menu7::Menu7( ) : Menu( )
{
   char str[10]="******";
   
   SetMenuFormat( 1 );  //add by wuhuan 06.06.21
   
   Item7.SetNameUnit( "请输入新密码:" );
   
   Item7.DefineItem( 8, str );
   
   AddItem( (Item*)&Item7 );

}

void Menu7::VarItemInit( )
{
}

char PWTmpBuff1[10];
int  Menu7::ManualPro( )
{
   
   Item7.GetOutInPutStr( PWTmpBuff1 );
   if(PWTmpBuff1[0]=='\0') strcpy( PWTmpBuff1, "123" );
   MENUManager.ShowMenu( 15 );     

   return 0;
}

void Menu7::AbnormalPro( )
{  
	 Item7.ItemInit(  );
   MENUManager.ShowMenu( 0 );
}

void Menu7::GetInputData( char abyte, char mulkeyflg )
{
	 Item7.PutInStr( abyte, mulkeyflg );
	 ShowAsActive( ActItemIdx );
}

/////////////////////////////////////////
void Menu7::DeleteInputData( )
{
	 Item7.DeleteAByte(  );
	 ShowAsActive( ActItemIdx );
}


char PWTmpBuff2[10];
Menu7_1::Menu7_1( ) : Menu( )
{
   char str[10]="******";
   
   SetMenuFormat( 1 );  //add by wuhuan 06.06.21
   
   Item7_1.SetNameUnit( "重新输入新密码:" );
   
   Item7_1.DefineItem( 8, str );
   
   AddItem( (Item*)&Item7_1 );

}

void Menu7_1::VarItemInit( )
{
}

int  Menu7_1::ManualPro( )
{
	 char StrBuf1[20], StrBuf2[20];
	 
	 strcpy( StrBuf1, "修改密码成功!" );
	 strcpy( StrBuf2, "修改密码失败!" );
	 	 
	 Item7_1.GetOutInPutStr( PWTmpBuff2 );
	 
	 if(strcmp(PWTmpBuff1, PWTmpBuff2 )==0)
   {
   	  strcpy( PasswordBuff, PWTmpBuff2 );
  
   	  Item7_1.ItemInit(  );	
   	  ShowOperInfo( StrBuf1 ); 

   	  LCD_Clearup( );
   	  MENUManager.ShowMenu( 0 );
   } 
   else 
   {  
   	  Item7_1.ItemInit(  );
   	  ShowOperInfo( StrBuf2 ); 

   	  LCD_Clearup( );
   	  MENUManager.ShowMenu( 15 );   	    
   }
   
   return 0;
}

void Menu7_1::AbnormalPro( )
{  
	 Item7_1.ItemInit(  );
   MENUManager.ShowMenu( 14 );
}

void Menu7_1::GetInputData( char abyte, char mulkeyflg )
{
	 Item7_1.PutInStr( abyte, mulkeyflg );
	 ShowAsActive( ActItemIdx );
}

void Menu7_1::DeleteInputData( )
{
	 Item7_1.DeleteAByte(  );
	 ShowAsActive( ActItemIdx );
}

/////////////////////////////////////////



MenuManager::MenuManager( )
{
   //MenuVisible = FALSE;
   X = 1;
   Y = 0;
   NumMenu = 0;
   ActMenuIdx = 0;
   AutoProIdx = 0;
   //MultiWave = FALSE;
}

MenuManager::~MenuManager( )
{
   if( EtrMenu != NULL )      delete EtrMenu;
}

int MenuManager::SysMenuInit( )
{
   NumMenu = 0;
   EtrMenu = new MainMenu( );
   if( EtrMenu == NULL ) return -(NumMenu+1);
   pMenuTab[NumMenu] = (Menu*)EtrMenu;
   ActMenuIdx = 0;
   NumMenu++;

   EtrMenu1 = new Menu1( );
   if( EtrMenu1 == NULL ) return -(NumMenu+1);
   pMenuTab[NumMenu] = (Menu*)EtrMenu1;
   NumMenu++;

   EtrMenu1_1 = new Menu1_1( );
   if( EtrMenu1_1 == NULL ) return -(NumMenu+1);
   pMenuTab[NumMenu] = (Menu*)EtrMenu1_1;
   NumMenu++;

   EtrMenu1_2 = new Menu1_2( );
   if( EtrMenu1_2 == NULL ) return -(NumMenu+1);
   pMenuTab[NumMenu] = (Menu*)EtrMenu1_2;
   NumMenu++;

   EtrMenu2 = new Menu2( );
   if( EtrMenu2 == NULL ) return -(NumMenu+1);
   pMenuTab[NumMenu] = (Menu*)EtrMenu2;
   NumMenu++;

   ///////////////////
   //add by wuhuan 2006.6.22
   EtrMenu2_1 = new Menu2_1( );
   if( EtrMenu2_1 == NULL ) return -(NumMenu+1);
   pMenuTab[NumMenu] = (Menu*)EtrMenu2_1;
   NumMenu++;  

   EtrMenu2_2 = new Menu2_2( );
   if( EtrMenu2_2 == NULL ) return -(NumMenu+1);
   pMenuTab[NumMenu] = (Menu*)EtrMenu2_2;
   NumMenu++;

   EtrMenu2_3 = new Menu2_3( );
   if( EtrMenu2_3 == NULL ) return -(NumMenu+1);
   pMenuTab[NumMenu] = (Menu*)EtrMenu2_3;
   NumMenu++;  

   EtrMenu2_4 = new Menu2_4( );
   if( EtrMenu2_4 == NULL ) return -(NumMenu+1);
   pMenuTab[NumMenu] = (Menu*)EtrMenu2_4;
   NumMenu++;   

   EtrMenu2_5 = new Menu2_5( );
   if( EtrMenu2_5 == NULL ) return -(NumMenu+1);
   pMenuTab[NumMenu] = (Menu*)EtrMenu2_5;
   NumMenu++;

   EtrMenu2_6 = new Menu2_6( );
   if( EtrMenu2_6== NULL ) return -(NumMenu+1);
   pMenuTab[NumMenu] = (Menu*)EtrMenu2_6;
   NumMenu++; 

   EtrMenu5 = new Menu5( );
   if( EtrMenu5 == NULL ) return -(NumMenu+1);
   pMenuTab[NumMenu] = (Menu*)EtrMenu5;
   NumMenu++;   

   EtrMenu5_3 = new Menu5_3( );
   if( EtrMenu5_3 == NULL ) return -(NumMenu+1);
   pMenuTab[NumMenu] = (Menu*)EtrMenu5_3;
   NumMenu++;  

   EtrMenu5_4 = new Menu5_4( );
   if( EtrMenu5_4 == NULL ) return -(NumMenu+1);
   pMenuTab[NumMenu] = (Menu*)EtrMenu5_4;
   NumMenu++;   
   
   EtrMenu7 = new Menu7( );
   if( EtrMenu7 == NULL ) return -(NumMenu+1);
   pMenuTab[NumMenu] = (Menu*)EtrMenu7;
   NumMenu++;

   EtrMenu7_1 = new Menu7_1( );
   if( EtrMenu7_1 == NULL ) return -(NumMenu+1);
   pMenuTab[NumMenu] = (Menu*)EtrMenu7_1;
   NumMenu++;              

////////////////////////////////////////////
   EtrMenu2_7 = new Menu2_7( );
   if( EtrMenu2_7== NULL ) return -(NumMenu+1);
   pMenuTab[NumMenu] = (Menu*)EtrMenu2_7;
   NumMenu++;

   EtrMenu2_8 = new Menu2_8( );
   if( EtrMenu2_8== NULL ) return -(NumMenu+1);
   pMenuTab[NumMenu] = (Menu*)EtrMenu2_8;
   NumMenu++;   

////////////////////////////////////////////   
       
   return 0;
}

int MenuManager::AddMenu( Menu* AppMenu )
{
   if(NumMenu>=20) return -NumMenu;
   pMenuTab[NumMenu] = AppMenu;
   NumMenu++;
   return 0;
}

void MenuManager::ShowMenu( int MenuIdx )
{
   LCD_Clearup( );
   ActMenuIdx = MenuIdx%NumMenu;
   pMenuTab[ActMenuIdx]->Show( );
}

void MenuManager::HideMenu( )
{
   //if( !MenuVisible ) return;
   pMenuTab[ActMenuIdx]->Hide( );
}

void MenuManager::MenuItemBarUp( )
{
   pMenuTab[ActMenuIdx]->MenuItemBarUp( );
}

void MenuManager::MenuItemBarDn( )
{
   pMenuTab[ActMenuIdx]->MenuItemBarDn( );
}

void MenuManager::MenuItemInc( )
{
   pMenuTab[ActMenuIdx]->MenuItemInc( );
}

void MenuManager::MenuItemDec( )
{
   pMenuTab[ActMenuIdx]->MenuItemDec( );
}

void MenuManager::MenuItemINC( )
{
   pMenuTab[ActMenuIdx]->MenuItemINC( );
}

void MenuManager::MenuItemDEC( )
{
   pMenuTab[ActMenuIdx]->MenuItemDEC( );
}

void MenuManager::MenuDrivedManualPro( )
{
   pMenuTab[ActMenuIdx]->ManualPro( );
}

void MenuManager::AbnormalPro( )
{
   pMenuTab[ActMenuIdx]->AbnormalPro( );
}

///////////////////////////////////////////
//add by wuhuan 2006.6.23
void MenuManager::GetInputData( char abyte, char mulkeyflg )
{
   pMenuTab[ActMenuIdx]->GetInputData( abyte, mulkeyflg);
}

void MenuManager::DeleteInputData( )
{
   pMenuTab[ActMenuIdx]->DeleteInputData( );
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -