OpendTect  6.3
uicolseqdisp.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: Bert
8  Date: Jan 2017
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "uitoolsmod.h"
14 #include "uirgbarraycanvas.h"
15 #include "coltab.h"
16 class uiRGBArray;
17 class uiPixmap;
18 class MouseEvent;
19 
20 namespace ColTab
21 {
22 
23  mGlobal(uiTools) void fillRGBArray(uiRGBArray&,const Sequence&,
24  const Mapper* mpr=0,
25  OD::Orientation orient=OD::Horizontal,
26  int bordernrpix=0);
27  mGlobal(uiTools) uiPixmap* getuiPixmap(const Sequence&,int szx,int szy,
28  const Mapper* mpr=0,
29  OD::Orientation orient=OD::Horizontal,
30  int bordernrpix=0);
31 }
32 
33 
35 {
36 public:
37 
42 
44  bool withudfcoldisp=true);
45  ~uiColSeqDisp();
46 
47  const Sequence& sequence() const { return *colseq_; }
48  OD::Orientation orientation() const { return orientation_; }
49  const Mapper* mapper() const { return mapper_; }
50  const char* seqName() const;
51  void setSequence(const Sequence&);
52  void setSeqName(const char*);
53  void setOrientation(OD::Orientation);
54  void setMapper(const Mapper*);
55 
56  int pixFor(ValueType) const;
57 
58  // The PosType is the relpos [0,1] in the bar
63 
64 protected:
65 
69  const bool withudfcoldisp_;
70  uiRGBArray* rgbarr_;
71 
72  void initCB(CallBacker*);
73  void mouseWheelCB(CallBacker*);
74  void keybCB(CallBacker*);
75  void reSizeCB(CallBacker*);
77  { handleMouseBut(true); }
79  { handleMouseBut(false); }
80  void seqChgCB( CallBacker* ) { reDraw(); }
81  void mapperChgCB( CallBacker* ) { reDraw(); }
82  int longSz() const;
83  PosType relPosFor(const MouseEvent&) const;
84 
85  bool setNewSeq(const Sequence&);
86  void handleMouseBut(bool);
87  virtual bool handleLongTabletPress();
88 
89  void reDraw();
90 
91 private:
92 
93  uiRGBArray& mkRGBArr();
94 
95 };
const Sequence & sequence() const
Definition: uicolseqdisp.h:47
#define mExpClass(module)
Definition: commondefs.h:157
CNotifier< uiColSeqDisp, PosType > menuReq
right-click or space
Definition: uicolseqdisp.h:60
OD::Orientation orientation() const
Definition: uicolseqdisp.h:48
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
A series of color control points able to give an (interpolated) color for every position [0...
Definition: coltabsequence.h:37
#define mGlobal(module)
Definition: commondefs.h:160
ConstRefMan< Mapper > mapper_
Definition: uicolseqdisp.h:67
ColTab::PosType PosType
Definition: uicolseqdisp.h:40
CNotifier< uiColSeqDisp, PosType > upReq
wheel-, key- or page-up
Definition: uicolseqdisp.h:61
Definition: oduicommon.h:23
ConstRefMan< Sequence > colseq_
Definition: uicolseqdisp.h:66
const Mapper * mapper() const
Definition: uicolseqdisp.h:49
Definition: uiparent.h:24
Maps data values to color sequence positions: [0,1].
Definition: coltabmapper.h:33
CNotifier< uiColSeqDisp, PosType > selReq
click or enter
Definition: uicolseqdisp.h:59
ColTab::Sequence Sequence
Definition: uicolseqdisp.h:38
float ValueType
Definition: coltab.h:23
const bool withudfcoldisp_
Definition: uicolseqdisp.h:69
void fillRGBArray(uiRGBArray &, const Sequence &, const Mapper *mpr=0, OD::Orientation orient=OD::Horizontal, int bordernrpix=0)
Off-screen pixel-based paint device.
Definition: uipixmap.h:33
OD::Orientation orientation_
Definition: uicolseqdisp.h:68
void seqChgCB(CallBacker *)
Definition: uicolseqdisp.h:80
Provides a canvas where a uiRGBArray is pre-drawn.
Definition: uirgbarraycanvas.h:34
uiPixmap * getuiPixmap(const Sequence &, int szx, int szy, const Mapper *mpr=0, OD::Orientation orient=OD::Horizontal, int bordernrpix=0)
ColTab::Mapper Mapper
Definition: uicolseqdisp.h:39
void mousePressCB(CallBacker *)
Definition: uicolseqdisp.h:76
OpendTect.
Definition: commontypes.h:25
CNotifier< uiColSeqDisp, PosType > downReq
wheel-, key- or page-down
Definition: uicolseqdisp.h:62
Definition: coltab.h:20
float PosType
Definition: coltab.h:24
void mapperChgCB(CallBacker *)
Definition: uicolseqdisp.h:81
ColTab::ValueType ValueType
Definition: uicolseqdisp.h:41
void mouseReleaseCB(CallBacker *)
Definition: uicolseqdisp.h:78
Definition: mouseevent.h:72
Definition: ptrman.h:227
Definition: uicolseqdisp.h:34
uiRGBArray * rgbarr_
Definition: uicolseqdisp.h:70
Orientation
Fundamental orientation in 2D UIs.
Definition: oduicommon.h:21

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B. V. 2017