From 82f796251e759a6cd7886a56b6631f2229545c5e Mon Sep 17 00:00:00 2001 From: William Joye Date: Thu, 8 Nov 2018 14:42:12 -0500 Subject: add convert to mask --- ds9/library/catdialog.tcl | 2 +- ds9/library/mregion.tcl | 13 +++++++++++++ tksao/frame/base.h | 2 +- tksao/frame/frame.C | 7 +++++++ tksao/frame/frame.h | 1 + tksao/frame/frmarker.C | 4 ---- 6 files changed, 23 insertions(+), 6 deletions(-) diff --git a/ds9/library/catdialog.tcl b/ds9/library/catdialog.tcl index 09acc5f..bc4562e 100644 --- a/ds9/library/catdialog.tcl +++ b/ds9/library/catdialog.tcl @@ -525,7 +525,7 @@ proc CATDialogUpdate {varname} { $var(mb).file entryconfig [msgcat::mc {Plot}] -state disabled $var(mb).file entryconfig "[msgcat::mc {Display Header}]..." \ -state disabled - $var(mb).file entryconfig [msgcat::mc {Copy to Regions}] -stat disabled + $var(mb).file entryconfig [msgcat::mc {Copy to Regions}] -state disabled $var(mb).file entryconfig "[msgcat::mc {Print}]..." -state disabled $var(top).buttons.filter configure -state disabled diff --git a/ds9/library/mregion.tcl b/ds9/library/mregion.tcl index 82d0cb8..b2f7686 100644 --- a/ds9/library/mregion.tcl +++ b/ds9/library/mregion.tcl @@ -62,6 +62,7 @@ proc RegionMainMenu {} { -command MarkerLoad $ds9(mb).region add command -label "[msgcat::mc {Save Regions}]..." \ -command MarkerSave + $ds9(mb).region add separator $ds9(mb).region add command -label [msgcat::mc {Convert to Mask}] \ -command Marker2Mask $ds9(mb).region add separator @@ -1099,6 +1100,18 @@ proc UpdateRegionMenu {} { } } } + + switch [$current(frame) get type] { + base { + $ds9(mb).region entryconfig [msgcat::mc {Convert to Mask}] \ + -state normal + } + rgb - + 3d { + $ds9(mb).region entryconfig [msgcat::mc {Convert to Mask}] \ + -state disabled + } + } } else { $ds9(mb) entryconfig [msgcat::mc {Region}] -state disabled } diff --git a/tksao/frame/base.h b/tksao/frame/base.h index e8398ca..265b6a3 100644 --- a/tksao/frame/base.h +++ b/tksao/frame/base.h @@ -1385,7 +1385,7 @@ public: void markerCommandVarCmd(MarkerFormat, const char*); void markerCopyCmd(); void markerCopyCmd(const char*); - void markerCreateMaskCmd(const char*); + virtual void markerCreateMaskCmd(const char*) {}; void markerCpandaCreateAnglesCmd(int, const Vector&); void markerCpandaCreateRadiusCmd(int, const Vector&); void markerCpandaDeleteCmd(int, int); diff --git a/tksao/frame/frame.C b/tksao/frame/frame.C index bb99824..47650da 100644 --- a/tksao/frame/frame.C +++ b/tksao/frame/frame.C @@ -512,6 +512,13 @@ void Frame::maskTransparencyCmd(float tt) update(BASE); } +void Frame::markerCreateMaskCmd(const char* fn) +{ + // create image + // save it + // load as mask +} + void Frame::colormapCmd(int id, float b, float c, int i, unsigned char* cells, int cnt) { diff --git a/tksao/frame/frame.h b/tksao/frame/frame.h index f385a60..346a824 100644 --- a/tksao/frame/frame.h +++ b/tksao/frame/frame.h @@ -73,6 +73,7 @@ class Frame : public FrameBase { void maskRangeCmd(double ll, double hh) {maskLow=ll; maskHigh=hh;} void maskSystemCmd(Coord::CoordSystem); void maskTransparencyCmd(float); + void markerCreateMaskCmd(const char*); void colormapCmd(int, float, float, int, unsigned char*, int); void colormapBeginCmd(); diff --git a/tksao/frame/frmarker.C b/tksao/frame/frmarker.C index 6c7e1fa..179561e 100644 --- a/tksao/frame/frmarker.C +++ b/tksao/frame/frmarker.C @@ -3285,10 +3285,6 @@ void Base::markerCopyCmd(const char* tag) } } -void Base::markerCreateMaskCmd(const char* fn) -{ -} - void Base::markerCpandaCreateAnglesCmd(int id, const Vector& vv) { Marker* mm=markers->head(); -- cgit v0.12