예제 #1
0
        /// <summary>
        /// 可視アイコンがクリックされたときの処理
        /// </summary>
        /// <param name="index"></param>
        /// <remarks>
        /// 変更が発生したらイベントを発行する。
        /// </remarks>
        protected void VisibleIconClick(int index)
        {
            MbeLayer.LayerValue layer = MbeLayer.valueTable[index];
            if ((visibleLayer & (ulong)layer) != 0)
            {
                //可視だったものがクリックされた場合
                if ((selectLayer == layer) &&
                    ((selectableLayer & (ulong)layer) != 0))
                {
                    return;
                }
                visibleLayer &= ~((ulong)layer);
            }
            else
            {
                //不可視だったものがクリックされた場合
                visibleLayer |= ((ulong)layer);
            }

            if (VisibleLayerChange != null)
            {
                LayerInfoEventArgs e = new LayerInfoEventArgs();
                e.visibleLayer = visibleLayer;
                VisibleLayerChange(this, e);
            }

            Invalidate();
        }
예제 #2
0
 /// <summary>
 /// レイヤー情報が変わったときに本クラスに通知するハンドラ
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 /// <remarks>
 /// mbeViewのモード(ツール)が変わったときのイベントハンドラとして準備したが
 /// イベントはいったんフレームウィンドウで受けるようにしているため、
 /// 普通のメソッドとして使っている。
 /// </remarks>
 public void OnLayerSelectInfoChange(object sender, LayerInfoEventArgs e)
 {
     //System.Diagnostics.Debug.WriteLine("SetLayerWindow.OnLayerSelectInfoChange");
     SelectLayer     = e.selectLayer;
     SelectableLayer = e.selectableLayer;
     VisibleLayer    = e.visibleLayer;
     Invalidate();
 }
예제 #3
0
        /// <summary>
        /// 選択レイヤーがクリックされたときの処理
        /// </summary>
        /// <param name="index"></param>
        /// <remarks>
        /// 変更が発生したらイベントを発行する。
        /// </remarks>
        protected void SelectIconClick(int index)
        {
            MbeLayer.LayerValue layer = MbeLayer.valueTable[index];
            if (selectLayer == layer)
            {
                return;
            }
            if ((selectableLayer & (ulong)layer) == 0)
            {
                return;
            }
            selectLayer   = layer;
            visibleLayer |= ((ulong)layer);

            if (SelectLayerChange != null)
            {
                LayerInfoEventArgs e = new LayerInfoEventArgs();
                e.selectLayer  = selectLayer;
                e.visibleLayer = visibleLayer;
                SelectLayerChange(this, e);
            }

            Invalidate();
        }