リスキリング(プログラミング)

独学プログラミング演習

View My GitHub Profile

詳細検討

システムトレイのメニュー

  1. メニュー項目、および選んだ場合の処理

    テキスト 処理
    Show ウィンドウの表示/非表示を切り替える
    Quit アプリケーションを終了する

    ShowとQuitの間には、セパレータを設ける

実装方法整理

メニュー

  1. 作成方法
    • V2
      MenuBuilder::new().build()
      
      • let tray_menu = MenuBuilder::new(app).items(&[&toggle]).build()?;
        
    • V1
      Menu::new()
      
      • let traymenu = Menu::new();
        

メニュー項目

  1. 作成方法

    • V2
      MenuItemBuilder::with_id().build()
      
      • let toggle = MenuItemBuilder::with_id("toggle", "Toggle").build(app)?;
        
    • V1
      CustomMenuItem::new()
      
      • let toggle = CustomMenuItem::new("toggle","Toggle");
        
  2. メニューへの追加方法

    1. 作成した項目

      • V2
        MenuBuilder.item(MenuItemBuilder)
        
        • traymenu.item(&toggle);
          
      • V1
        Menu.add_item(CustomMenuItem)
        
        • traymenu.add_item(toggle);
          
    2. Tauriが提供する項目

      • V2
        MenuBuilder.item(PredefinedMenuItem)
        
        • traymenu.item(&PredefinedMenuItem::separator(app)?);
          
      • V1
        Menu.add_native_item(MenuItem)
        
        • traymenu.add_native_item(MenuItem::Separator);
          

メニューイベント

  1. イベント定義方法

    • V2
      •   .on_menu_event(move |app, event| match event.id().as_ref() {
            // 項目と処理の紐づけ    
          })
        
  2. 項目と処理の紐づけ方法

    • V2
      <項目> => {
        [処理記述]   
      }
      
      •   "toggle" => {
              println!("toggle clicked");
          }
          _ => (),
        

ウィンドウ表示の切り替え

アプリケーションの終了