/// <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(); }
/// <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(); }
/// <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(); }