#ifndef VIDEO_PARAMETER_DIALOG #define VIDEO_PARAMETER_DIALOG #include #include #include #include #include #include #include "transcode/Parameters.hpp" class VideoParametersDialog : public Wt::WDialog { public: // parameters to be edited VideoParametersDialog(const Wt::WString &windowTitle, Wt::WDialog* parent = 0); // Populates widget contents using these paramaters void load(const Transcode::Parameters& parameters); // Save widgets contents into these parameters void save(Transcode::Parameters& parameters); // Signal to be emitted if parameters are changed Wt::Signal& apply() { return _apply; } private: void handleApply(void); // Stream handling void createStreamWidgets(const Wt::WString& label, Transcode::Stream::Type type, Wt::WTable* layout); void addStreams(Wt::WStringListModel* model, const std::vector& streams); void selectStream(const Wt::WStringListModel* model, Transcode::Stream::Id streamId, Wt::WComboBox* combo); Wt::Signal _apply; Wt::WComboBox* _outputFormat; Wt::WStringListModel* _outputFormatModel; std::map > _streamSelection; }; #endif