MythTV  0.27pre
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Groups Pages
Public Slots | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Configurable Class Reference

Configurable is the root of all the database aware widgets. More...

#include <settings.h>

Inheritance diagram for Configurable:
Inheritance graph
[legend]
Collaboration diagram for Configurable:
Collaboration graph
[legend]

Public Slots

virtual void enableOnSet (const QString &val)
 This slot allows you to enable this configurable when a binary configurable is set to true.
virtual void enableOnUnset (const QString &val)
 This slot allows you to enable this configurable when a binary configurable is set to false.
virtual void widgetDeleted (QObject *obj)
 This slot calls the virtual widgetInvalid(QObject*) method.

Public Member Functions

virtual QWidget * configWidget (ConfigurationGroup *cg, QWidget *parent, const char *widgetName=NULL)
 Create and return a QWidget for configuring this entity Note: Any class calling this should call widgetInvalid() before configWidget() is called on the class again, and before the class is deleted; just before removing the instance from a layout or scheduling the delete of a parent container is a good time.
virtual void widgetInvalid (QObject *)
 Tell any Configurable keeping a pointer to a widget, that the pointer returned by an earlier configWidget call is invalid.
void setName (const QString &str)
QString getName (void) const
virtual SettingbyName (const QString &name)=0
virtual void setLabel (QString str)
QString getLabel (void) const
void setLabelAboveWidget (bool l=true)
virtual void setHelpText (const QString &str)
QString getHelpText (void) const
void setVisible (bool b)
bool isVisible (void) const
virtual void setEnabled (bool b)
bool isEnabled ()
StorageGetStorage (void)

Protected Member Functions

 Configurable (Storage *_storage)
virtual ~Configurable ()

Protected Attributes

bool labelAboveWidget
bool enabled
Storagestorage
QString configName
QString label
QString helptext
bool visible

Detailed Description

Configurable is the root of all the database aware widgets.

This is an abstract class and some methods must be implemented in children. byName(const &QString) is abstract. While configWidget(ConfigurationGroup *, QWidget*, const char*) has an implementation, all it does is print an error message and return a NULL pointer.

Definition at line 25 of file settings.h.

Constructor & Destructor Documentation

Configurable::Configurable ( Storage _storage)
inlineprotected

Definition at line 80 of file settings.h.

virtual Configurable::~Configurable ( )
inlineprotectedvirtual

Definition at line 83 of file settings.h.

Member Function Documentation

QWidget * Configurable::configWidget ( ConfigurationGroup cg,
QWidget *  parent,
const char *  widgetName = NULL 
)
virtual

Create and return a QWidget for configuring this entity Note: Any class calling this should call widgetInvalid() before configWidget() is called on the class again, and before the class is deleted; just before removing the instance from a layout or scheduling the delete of a parent container is a good time.

Some UI classes depend on this for properly updating the UI.

Reimplemented in ProgressSetting, ButtonSetting, CheckBoxSetting, ListBoxSetting, ComboBoxSetting, SelectLabelSetting, SpinBoxSetting, SliderSetting, TriggeredConfigurationGroup, StackedConfigurationGroup, LineEditSetting, GridConfigurationGroup, LabelSetting, HorizontalConfigurationGroup, VerticalConfigurationGroup, RecordingProfile::ID, and ChannelID.

Definition at line 46 of file settings.cpp.

Referenced by TriggeredConfigurationGroup::configWidget(), and VerticalConfigurationGroup::replaceChild().

virtual void Configurable::widgetInvalid ( QObject *  )
inlinevirtual

Tell any Configurable keeping a pointer to a widget, that the pointer returned by an earlier configWidget call is invalid.

Note: It is possible that this may be called after configWidget() has been called another time so you must check the pointer param.

Reimplemented in ButtonSetting, CheckBoxSetting, ListBoxSetting, ComboBoxSetting, SpinBoxSetting, TriggeredConfigurationGroup, LineEditSetting, and VerticalConfigurationGroup.

Definition at line 45 of file settings.h.

Referenced by StackedConfigurationGroup::removeChild(), and VerticalConfigurationGroup::replaceChild().

void Configurable::setName ( const QString &  str)
inline
QString Configurable::getName ( void  ) const
inline

Definition at line 54 of file settings.h.

Referenced by StackedConfigurationGroup::raise().

virtual Setting* Configurable::byName ( const QString &  name)
pure virtual
virtual void Configurable::setLabel ( QString  str)
inlinevirtual

Reimplemented in ButtonSetting, and CheckBoxSetting.

Definition at line 58 of file settings.h.

Referenced by AdjustFill(), AppearanceSettings::AppearanceSettings(), ArchiveSettings::ArchiveSettings(), ASIDevice::ASIDevice(), AspectOverride(), AudioCodecName::AudioCodecName(), AudioCompressionSettings::AudioCompressionSettings(), AudioConfigSettings::AudioConfigSettings(), AudioDevice::AudioDevice(), AudioDeviceComboBox::AudioDeviceComboBox(), AudioMixerSettings::AudioMixerSettings(), AudioRateLimit::AudioRateLimit(), AudioTest::AudioTest(), AudioConfigSettings::AudioUpmixType(), AutoCommercialSkip(), AutoExpireDayPriority(), AutoExpireExtraSpace(), AutoExpireLiveTVMaxAge(), AutoExpireMethod(), AverageBitrate::AverageBitrate(), BackendSettings::BackendSettings(), BackendStartCommand(), BackendStopCommand(), BlankSetting::BlankSetting(), Brightness::Brightness(), BTTVVolume::BTTVVolume(), Callsign::Callsign(), CaptureCardEditor::CaptureCardEditor(), CaptureCardGroup::CaptureCardGroup(), CardID::CardID(), ProfileGroup::CardInfo::CardInfo(), CardInput::CardInput(), CardInputEditor::CardInputEditor(), CardType::CardType(), CategoryOverTime(), CategoryOverTimeSettings(), CetonConfigurationGroup::CetonConfigurationGroup(), CetonDeviceID::CetonDeviceID(), CetonSetting::CetonSetting(), ChannelFormat(), ChannelGroupConfig::ChannelGroupConfig(), ChannelGroupDefault(), ChannelGroupEditor::ChannelGroupEditor(), ChannelGroupSettings::ChannelGroupSettings(), ChannelOptionsCommon::ChannelOptionsCommon(), ChannelOptionsFilters::ChannelOptionsFilters(), ChannelOptionsRawTS::ChannelOptionsRawTS(), ChannelOptionsV4L::ChannelOptionsV4L(), ChannelOrdering(), ChannelScannerGUI::ChannelScannerGUI(), ChannelScannerGUIScanPane::ChannelScannerGUIScanPane(), ChannelTimeout::ChannelTimeout(), ChannelTVFormat::ChannelTVFormat(), Channum::Channum(), ChapterMenuAspectRatio(), Colour::Colour(), Command::Command(), CommercialSkipMethod(), CommMethod::CommMethod(), CommNotifyAmount(), CommRewindAmount(), Contrast::Contrast(), DailyWakeupEnd1(), DailyWakeupEnd2(), DailyWakeupStart1(), DailyWakeupStart2(), DataDirectPassword::DataDirectPassword(), DataDirectUserID::DataDirectUserID(), DecodeVBIFormat(), DefaultTVChannel(), DeferAutoTranscodeDays(), DeletedExpireOptions::DeletedExpireOptions(), DeletedMaxAge(), DemoConfigurationGroup::DemoConfigurationGroup(), DesiredServices::DesiredServices(), DeviceDescrSetting::DeviceDescrSetting(), DeviceRepeatSetting::DeviceRepeatSetting(), DeviceTypeSetting::DeviceTypeSetting(), DiSEqCLatitude(), DiSEqCLongitude(), DisplayGroupTitleSort(), DisplayRecGroup(), DisplaySizeHeight(), DisplaySizeWidth(), DTVDeviceConfigGroup::DTVDeviceConfigGroup(), DTVStandard::DTVStandard(), DVBCardName::DVBCardName(), DVBCardNum::DVBCardNum(), DVBCardType::DVBCardType(), DVBExtra::DVBExtra(), DVBForwardErrorCorrection::DVBForwardErrorCorrection(), DVBInversion::DVBInversion(), DVBSymbolRate::DVBSymbolRate(), DVBTBandwidth::DVBTBandwidth(), DVBTCoderateHP::DVBTCoderateHP(), DVBTCoderateLP::DVBTCoderateLP(), DVBTGuardInterval::DVBTGuardInterval(), DVBTHierarchy::DVBTHierarchy(), DVBTTransmissionMode::DVBTTransmissionMode(), DVBTuningDelay::DVBTuningDelay(), EITCrawIdleStart(), EITTransportTimeout(), EncodingThreadCount::EncodingThreadCount(), EPGRecThreshold(), EPGSettings::EPGSettings(), Extensions::Extensions(), ExternalChannelCommand::ExternalChannelCommand(), FFRewReposTime(), FileDevice::FileDevice(), Finetune::Finetune(), FirewireConnection::FirewireConnection(), FirewireGUID::FirewireGUID(), FirewireModel::FirewireModel(), FirewireSpeed::FirewireSpeed(), Freqid::Freqid(), FreqTable(), FreqTableSelector::FreqTableSelector(), Frequency::Frequency(), FrontendIdleTimeout(), GalleryConfigurationGroup::GalleryConfigurationGroup(), GallerySettings::GallerySettings(), GameAllTreeLevels(), GameFavTreeLevels(), GameType::GameType(), GeneralRecPrioritiesSettings::GeneralRecPrioritiesSettings(), GeneralSettings::GeneralSettings(), GetBoxartDir(), GetFanartDir(), GetScreenshotDir(), GRAudioDescRecPriority(), GRCCRecPriority(), GRHardHearRecPriority(), GRHDTVRecPriority(), GROnScrSubRecPriority(), GRPrefInputRecPriority(), GRSchedOpenEnd(), GRSignLangRecPriority(), GRWSRecPriority(), GuiHeight(), GuiOffsetX(), GuiOffsetY(), GuiVidModeResolution(), GuiWidth(), HaltCommand(), ChannelScannerGUI::HandleEvent(), HardwareMJPEGHDecimation::HardwareMJPEGHDecimation(), HardwareMJPEGQuality::HardwareMJPEGQuality(), HardwareMJPEGVDecimation::HardwareMJPEGVDecimation(), HDHomeRunDeviceID::HDHomeRunDeviceID(), HDHomeRunDeviceIDList::HDHomeRunDeviceIDList(), HDHomeRunExtra::HDHomeRunExtra(), HDHomeRunIP::HDHomeRunIP(), HDHomeRunTunerIndex::HDHomeRunTunerIndex(), HDPVRConfigurationGroup::HDPVRConfigurationGroup(), HDRingbufferSize(), ImageSize::Height::Height(), HorizScanPercentage(), ProfileGroup::HostName::HostName(), Hue::Hue(), Icon::Icon(), idleTimeoutSecs(), idleWaitForRecordingTime(), IgnoreMedia(), ImageSize::ImageSize(), ImportConfigurationGroup::ImportConfigurationGroup(), InputDisplayName::InputDisplayName(), InputGroup::InputGroup(), InputName::InputName(), InputPriority::InputPriority(), InputSelector::InputSelector(), InstanceCount::InstanceCount(), IPTVHost::IPTVHost(), ISO639PreferredLanguage(), JobQueueCheckFrequency(), JobQueueCommFlagCommand(), JobQueueCPU(), JobQueueMaxSimultaneousJobs(), JobQueueTranscodeCommand(), JobQueueWindowEnd(), JobQueueWindowStart(), JumpMinutes::JumpMinutes(), LCDKeyString(), LCDPopupTime(), LcdSettings::LcdSettings(), LCDShowMusicItems(), LetterboxingColour(), LircDaemonDevice(), LiveTVIdleTimeout(), LiveTVOrder::LiveTVOrder(), LNBConfig::LNBConfig(), LNBLOFHighSetting::LNBLOFHighSetting(), LNBLOFLowSetting::LNBLOFLowSetting(), LNBLOFSwitchSetting::LNBLOFSwitchSetting(), LNBPresetSetting::LNBPresetSetting(), LNBTypeSetting::LNBTypeSetting(), MythDbSettings1::Load(), LocalHostNameSettings::LocalHostNameSettings(), LocalSecurityPin(), LocalServerIP(), LocalServerIP6(), LocalServerPort(), LocalStatusPort(), LongChannelFormat(), MacDesktopSettings::MacDesktopSettings(), MacDesktopSkip(), MacDockSettings::MacDockSettings(), MacDockSkip(), MacFloatOpacity(), MacFloatSettings::MacFloatSettings(), MacFloatSkip(), MacFullSkip(), MacMainOpacity(), MacMainSettings::MacMainSettings(), MacMainSkip(), MainGeneralSettings::MainGeneralSettings(), MainMenuAspectRatio(), MasterServerIP(), MasterServerPort(), AudioConfigSettings::MaxAudioChannels(), MaximumCommercialSkip(), MenuTheme(), MergeShortCommBreaks(), MinRecordDiskThreshold(), MiscStatusScript(), AudioMixerSettings::MixerControl(), AudioMixerSettings::MixerDevice(), AudioMixerSettings::MixerVolume(), Modulation::Modulation(), MP3Quality::MP3Quality(), MPEG2aspectRatio::MPEG2aspectRatio(), MPEG2audBitrateL1::MPEG2audBitrateL1(), MPEG2audBitrateL2::MPEG2audBitrateL2(), MPEG2audBitrateL3::MPEG2audBitrateL3(), MPEG2AudioBitrateSettings::MPEG2AudioBitrateSettings(), MPEG2audType::MPEG2audType(), MPEG2audVolume::MPEG2audVolume(), MPEG2Language::MPEG2Language(), MPEG2streamType::MPEG2streamType(), MPEG4bitrate::MPEG4bitrate(), MPEG4MaxQuality::MPEG4MaxQuality(), MPEG4MinQuality::MPEG4MinQuality(), MPEG4QualDiff::MPEG4QualDiff(), MPEGConfigurationGroup::MPEGConfigurationGroup(), MultiplexSetting::MultiplexSetting(), MythArchiveDateFormat(), MythArchiveDefaultEncProfile(), MythArchiveDriveSpeed(), MythArchiveDvdauthorCmd(), MythArchiveDVDLocation(), MythArchiveDVDPlayerCmd(), MythArchiveFileFilter(), MythArchiveGrowisofsCmd(), MythArchiveJpeg2yuvCmd(), MythArchiveM2VRequantiserCmd(), MythArchiveMkisofsCmd(), MythArchiveMpeg2encCmd(), MythArchiveMplexCmd(), MythArchiveProjectXCmd(), MythArchiveShareDir(), MythArchiveSpumuxCmd(), MythArchiveTempDir(), MythArchiveTimeFormat(), MythDateFormatCB(), MythDbSettings1::MythDbSettings1(), MythDbSettings2::MythDbSettings2(), MythFillDatabaseArgs(), MythFillDatabasePath(), MythFillMaxHour(), MythFillMinHour(), MythFillSettings::MythFillSettings(), MythGalleryDir(), MythGalleryFilter(), MythGalleryFilterType(), MythGalleryImportDirs(), MythGalleryOverlayCaption(), MythGallerySortOrder(), MythGamePlayerEditor::MythGamePlayerEditor(), MythGamePlayerSettings::MythGamePlayerSettings(), MythLanguage(), MythShortDateFormat(), MythShutdownNvramCmd(), MythShutdownNvramRestartCmd(), MythShutdownPowerOff(), MythShutdownReboot(), MythShutdownStartFECmd(), MythShutdownXTermCmd(), MythTimeFormat(), MythWelcomeDateFormat(), Name::Name(), ProfileGroup::Name::Name(), MythGamePlayerSettings::Name::Name(), NetworkControlPort(), OSDSettings::OSDSettings(), OutputFilters::OutputFilters(), OverrideExitMenu(), OverTimeCategory(), PALNTSC(), PaneATSC::PaneATSC(), PaneDVBUtilsImport::PaneDVBUtilsImport(), PaneExistingScanImport::PaneExistingScanImport(), AudioAdvancedSettings::PassThroughOutputDevice(), AudioMixerSettings::PCMVolume(), PeakBitrate::PeakBitrate(), PIPLocationComboBox(), PlaybackExitPrompt(), PlaybackProfileConfigs::PlaybackProfileConfigs(), PlaybackProfileItemConfig::PlaybackProfileItemConfig(), PlaybackSettings::PlaybackSettings(), PlaybackWLBlackOut(), PlaybackWLMaxAge(), PlayBoxEpisodeSort(), PlayBoxOrdering(), PlayGroupEditor::PlayGroupEditor(), preSDWUCheckCommand(), PresetTuner::PresetTuner(), Priority::Priority(), ProfileGroup::ProfileGroup(), QuickTune::QuickTune(), RebootCommand(), RecordFullTSStream::RecordFullTSStream(), RecordingProfile::RecordingProfile(), RecordingProfileEditor::RecordingProfileEditor(), RecordingType::RecordingType(), RecordOverTime(), RecordPreRoll(), RomPath::RomPath(), RotorConfig::RotorConfig(), RotorHiSpeedSetting::RotorHiSpeedSetting(), RotorLoSpeedSetting::RotorLoSpeedSetting(), RotorSetting::RotorSetting(), RotorTypeSetting::RotorTypeSetting(), RTjpegChromaFilter::RTjpegChromaFilter(), RTjpegLumaFilter::RTjpegLumaFilter(), RTjpegQuality::RTjpegQuality(), SampleRate::SampleRate(), ScanATSCModulation::ScanATSCModulation(), ScanBandwidth::ScanBandwidth(), ScanCodeRateHP::ScanCodeRateHP(), ScanCodeRateLP::ScanCodeRateLP(), ScanConstellation::ScanConstellation(), ScanCountry::ScanCountry(), ScanDVBSModulation::ScanDVBSModulation(), ScanFec::ScanFec(), ScanFrequency::ScanFrequency(), ScanFrequencykHz::ScanFrequencykHz(), ScanFrequencyTable::ScanFrequencyTable(), ScanGuardInterval::ScanGuardInterval(), ScanHierarchy::ScanHierarchy(), ScanInversion::ScanInversion(), ScanModSys::ScanModSys(), ScanModulation::ScanModulation(), ScanNetwork::ScanNetwork(), ScanPolarity::ScanPolarity(), ScanRollOff::ScanRollOff(), ScanSymbolRateDVBC::ScanSymbolRateDVBC(), ScanSymbolRateDVBS::ScanSymbolRateDVBS(), ScanTransmissionMode::ScanTransmissionMode(), ScanTypeSetting::ScanTypeSetting(), ScanWizardConfig::ScanWizardConfig(), ScheduleOrder::ScheduleOrder(), ScreenShotPath(), ServerHaltCommand(), FirewireDesc::SetGUID(), ConfigurationDialog::setLabel(), ChannelScannerGUIScanPane::SetStatusTitleText(), SetupPinCode(), SetWakeuptimeCommand(), SignalPolarity::SignalPolarity(), SignalTimeout::SignalTimeout(), SkipAhead::SkipAhead(), SkipBack::SkipBack(), SleepCommand(), SlideshowBackground(), SlideshowDelay(), SlideshowOpenGLTransition(), SlideshowOpenGLTransitionLength(), SlideshowTransition(), Source::Source(), SourceID::SourceID(), AudioAdvancedSettings::SRCQuality(), startupCommand(), StartupSecsBeforeRecording(), StorageGroupEditor::StorageGroupEditor(), StorageGroupListEditor::StorageGroupListEditor(), StorageScheduler(), SubtitleCodec(), SwitchAddressSetting::SwitchAddressSetting(), SwitchConfig::SwitchConfig(), SwitchPortsSetting::SwitchPortsSetting(), SwitchSetting::SwitchSetting(), SwitchTypeSetting::SwitchTypeSetting(), ThemePainter(), TimeOffset::TimeOffset(), TimeStretch::TimeStretch(), TitleMatch::TitleMatch(), TranscodeFilters::TranscodeFilters(), TransFreqTableSelector::TransFreqTableSelector(), TransportPage::TransportPage(), TunerCardAudioInput::TunerCardAudioInput(), TVFormat(), TVVidModeForceAspect(), TVVidModeRefreshRate(), TVVidModeResolution(), UDPNotifyPort(), UPNPWmpSource(), USALSRotorSetting::USALSRotorSetting(), UserJob(), UserJobDesc(), V4LConfigurationGroup::V4LConfigurationGroup(), VBIDevice::VBIDevice(), VbiFormat(), VertScanPercentage(), VideoCodecName::VideoCodecName(), VideoCompressionSettings::VideoCompressionSettings(), VideoDevice::VideoDevice(), VideoFilters::VideoFilters(), VideoGeneralSettings::VideoGeneralSettings(), VideoModeSettings::VideoModeSettings(), VideoSource::VideoSource(), VideoSourceEditor::VideoSourceEditor(), VideoSourceSelector::VideoSourceSelector(), VidModeHeight(), VidModeWidth(), WakeUpCommand(), WakeupTimeFormat(), ImageSize::Width::Width(), WOLbackendCommand(), WOLbackendConnectRetry(), WOLbackendReconnectWaitTime(), WOLsqlSettings::WOLsqlSettings(), WorkingDirPath::WorkingDirPath(), XineramaMonitorAspectRatio(), XineramaScreen(), XMLTVGrabber::XMLTVGrabber(), XmltvID::XmltvID(), XScanDisplacement(), YScanDisplacement(), ZMDateFormat(), ZMServerIP(), ZMServerPort(), ZMSettings::ZMSettings(), and ZMTimeFormat().

QString Configurable::getLabel ( void  ) const
inline
void Configurable::setLabelAboveWidget ( bool  l = true)
inline
virtual void Configurable::setHelpText ( const QString &  str)
inlinevirtual
QString Configurable::getHelpText ( void  ) const
inline
void Configurable::setVisible ( bool  b)
inline
bool Configurable::isVisible ( void  ) const
inline
virtual void Configurable::setEnabled ( bool  b)
inlinevirtual
bool Configurable::isEnabled ( )
inline
Storage* Configurable::GetStorage ( void  )
inline

Definition at line 72 of file settings.h.

Referenced by StackedConfigurationGroup::Save().

void Configurable::enableOnSet ( const QString &  val)
virtualslot

This slot allows you to enable this configurable when a binary configurable is set to true.

Parameters
valsignal value, should be "0" to disable, other to disable.

Definition at line 77 of file settings.cpp.

void Configurable::enableOnUnset ( const QString &  val)
virtualslot

This slot allows you to enable this configurable when a binary configurable is set to false.

Parameters
valsignal value, should be "0" to enable, other to disable.

Definition at line 87 of file settings.cpp.

void Configurable::widgetDeleted ( QObject *  obj)
virtualslot

This slot calls the virtual widgetInvalid(QObject*) method.

This should not be needed, anyone calling configWidget() should also be calling widgetInvalid() directly before configWidget() is called again on the Configurable. If widgetInvalid() is not called directly before the Configurable's configWidget() is called the Configurable may not update properly on screen, but if this is connected to from the widget's destroyed(QObject*) signal this will prevent a segfault from occurring.

Definition at line 67 of file settings.cpp.

Referenced by VerticalConfigurationGroup::configWidget(), StackedConfigurationGroup::configWidget(), TriggeredConfigurationGroup::configWidget(), SpinBoxSetting::configWidget(), ComboBoxSetting::configWidget(), ListBoxSetting::configWidget(), CheckBoxSetting::configWidget(), and ButtonSetting::configWidget().

Member Data Documentation

bool Configurable::labelAboveWidget
protected
bool Configurable::enabled
protected

Definition at line 87 of file settings.h.

Referenced by DeletedExpireOptions::DeletedExpireOptions().

Storage* Configurable::storage
protected

Definition at line 88 of file settings.h.

QString Configurable::configName
protected

Definition at line 89 of file settings.h.

Referenced by SpinBoxSetting::relayValueChanged().

QString Configurable::label
protected
QString Configurable::helptext
protected

Definition at line 91 of file settings.h.

bool Configurable::visible
protected

Definition at line 92 of file settings.h.

Referenced by StartingChannel::SetSourceID().


The documentation for this class was generated from the following files: