예제 #1
0
 /// <summary>
 /// パレットツールを実行します
 /// </summary>
 /// <param name="id">実行するパレットツールのID</param>
 /// <param name="track">編集対象のトラック番号</param>
 /// <param name="vsq_event_intrenal_ids">編集対象のInternalIDのリスト</param>
 /// <param name="button">パレットツールが押し下げられた時のマウスボタンの種類</param>
 /// <returns>パレットツールによって編集が加えられた場合true。そうでなければfalse(パレットツールがエラーを起こした場合も含む)。</returns>
 public static boolean invokePaletteTool( String id, int track, int[] vsq_event_intrenal_ids, MouseButtons button ) {
     if ( loadedTools.containsKey( id ) ) {
         VsqFileEx vsq = AppManager.getVsqFile();
         VsqTrack item = (VsqTrack)vsq.Track.get( track ).clone();
         Object objPal = loadedTools.get( id );
         if ( objPal == null ) {
             return false;
         }
         if ( !(objPal is IPaletteTool) ) {
             return false;
         }
         IPaletteTool pal = (IPaletteTool)objPal;
         boolean edited = false;
         try {
             edited = pal.edit( item, vsq_event_intrenal_ids, button );
         } catch ( Exception ex ) {
             AppManager.showMessageBox(
                 PortUtil.formatMessage( _( "Palette tool '{0}' reported an error.\nPlease copy the exception text and report it to developper." ), id ),
                 "Error",
                 cadencii.windows.forms.Utility.MSGBOX_DEFAULT_OPTION,
                 cadencii.windows.forms.Utility.MSGBOX_ERROR_MESSAGE );
             serr.println( typeof( PaletteToolServer ) + ".invokePaletteTool; ex=" + ex );
             edited = false;
         }
         if ( edited ) {
             CadenciiCommand run = VsqFileEx.generateCommandTrackReplace( track, item, vsq.AttachedCurves.get( track - 1 ) );
             AppManager.editHistory.register( vsq.executeCommand( run ) );
         }
         return edited;
     } else {
         return false;
     }
 }
예제 #2
0
 public void btnFlip_Click(Object sender, EventArgs e)
 {
     m_credit_mode = !m_credit_mode;
     if (m_credit_mode)
     {
         try {
             btnFlip.Text = PortUtil.formatMessage(_("About {0}"), m_app_name);
         } catch (Exception ex) {
             btnFlip.Text = "About " + m_app_name;
         }
         m_scroll_started     = PortUtil.getCurrentTime();
         m_last_speed         = 0f;
         m_last_t             = 0f;
         m_shift              = 0f;
         pictVstLogo.Visible  = false;
         lblVstLogo.Visible   = false;
         chkTwitterID.Visible = true;
         timer.Start();
     }
     else
     {
         timer.Stop();
         btnFlip.Text         = _("Credit");
         pictVstLogo.Visible  = true;
         lblVstLogo.Visible   = true;
         chkTwitterID.Visible = false;
     }
     this.Refresh();
 }
예제 #3
0
        public void applyLanguage()
        {
            string    about  = PortUtil.formatMessage(_("About {0}"), m_app_name);
            string    credit = _("Credit");
            Dimension size1  = Util.measureString(about, btnFlip.Font);
            Dimension size2  = Util.measureString(credit, btnFlip.Font);

            m_button_width_about  = Math.Max(75, (int)(size1.width * 1.3));
            m_button_width_credit = Math.Max(75, (int)(size2.width * 1.3));
            if (m_credit_mode)
            {
                btnFlip.Size = new System.Drawing.Size(m_button_width_about, btnFlip.Height);
                btnFlip.Text = about;
            }
            else
            {
                btnFlip.Size = new System.Drawing.Size(m_button_width_credit, btnFlip.Height);
                btnFlip.Text = credit;
            }
            this.Text = about;
        }