00001 #ifndef _vuTFDialogSpec_h_ 00002 #define _vuTFDialogSpec_h_ 00003 00004 #include <wx/wx.h> 00005 #include <wx/dialog.h> 00006 #include <wx/textctrl.h> 00007 00008 #include "vuTransferCanvas.h" 00009 #include "vuTransferDialog.h" 00010 #include "vuTFunc/vuTFDesignSpec.h" 00011 #include "vuSpecPalette.h" 00012 #include "vuSpectral/SPalette.h" 00013 00015 00020 class vuTFDialogSpec : public vuTransferDialog 00021 { 00022 public: 00023 enum 00024 { 00025 idLIGHT = vuTransferDialog::idLAST, 00026 idLIGHTINT = idLIGHT + TFDLG_NLIGHTS, 00027 idSETUPNODES, 00028 idEDITPAL, 00029 }; 00030 00032 00038 vuTFDialogSpec(wxWindow *parent, vuTFDesignSpec &tf); 00040 void updateSliders(); 00041 00042 protected: 00045 void OnSlideLight( wxScrollEvent& event); 00047 void OnSetupNodes(wxCommandEvent &ev); 00049 #if wxMINOR_VERSION < 5 00050 void OnEditPalette(void); 00051 #else 00052 void OnEditPalette(wxCommandEvent&); 00053 #endif 00054 00055 /* Add the sliders for the light sources. 00056 This function is called after a new transfer function is loaded. 00057 Overrides vuTransferDialog::buildCustomSizer(). 00058 */ 00059 void buildCustomSizer(); 00060 /* opens spectral colour Dialog (virtual) */ 00061 void editSpecColour(dword id); 00062 00063 protected: 00065 vuSpecPalette m_PaletteDlg; 00066 00068 wxSlider *m_LightSlider[TFDLG_NLIGHTS], *m_LightIntensity; 00070 wxStaticText *m_LightName[TFDLG_NLIGHTS], *m_IName; 00071 00076 wxButton *m_mktri, *m_edpal; 00077 00078 int m_NoSliderUpdates; 00080 dword m_NLights; 00081 00082 DECLARE_EVENT_TABLE() 00083 }; 00084 00085 #endif