/** ******************************************************************************* * @file MainWindows.cpp * @brief Audio FX creator : main Windows diplayer (Sources) * @author Edouard DUPIN * @date 24/07/2012 * @par Project * fxCreator * * @par Copyright * Copyright 2010 Edouard DUPIN, all right reserved * * This software is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY. * * Licence summary : * You can modify and redistribute the sources code and binaries. * You can send me the bug-fix * You can not earn money with this Software (if the source extract from Edn * represent less than 50% of original Sources) * Term of the licence in in the file licence.txt. * ******************************************************************************* */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #undef __class__ #define __class__ "MainWindows" MainWindows::MainWindows(void) { APPL_DEBUG("CREATE WINDOWS ... "); ewol::SizerVert * mySizerVert = NULL; ewol::SizerVert * mySizerVert2 = NULL; ewol::SizerHori * mySizerHori = NULL; ewol::SizerHori * mySizerHori2 = NULL; ewol::Button * myButton = NULL; ewol::Slider * mySlider = NULL; ewol::Label * myLabel = NULL; ewol::Menu * myMenu = NULL; ewol::Spacer * mySpacer = NULL; mySizerVert = new ewol::SizerVert(); SetSubWidget(mySizerVert); mySizerHori = new ewol::SizerHori(); mySizerVert->SubWidgetAdd(mySizerHori); mySizerVert2 = new ewol::SizerVert(); mySizerHori->SubWidgetAdd(mySizerVert2); mySpacer = new ewol::Spacer(); mySpacer->SetExpendY(true); mySizerVert2->SubWidgetAdd(mySpacer); myButton = new ewol::Button("BLIP/SELECT"); mySizerVert2->SubWidgetAdd(myButton); myButton = new ewol::Button("JUMP"); mySizerVert2->SubWidgetAdd(myButton); myButton = new ewol::Button("HIT/HURT"); mySizerVert2->SubWidgetAdd(myButton); myButton = new ewol::Button("POWER UP"); mySizerVert2->SubWidgetAdd(myButton); myButton = new ewol::Button("EXPLOSION"); mySizerVert2->SubWidgetAdd(myButton); myButton = new ewol::Button("LASER/SHOOT"); mySizerVert2->SubWidgetAdd(myButton); myButton = new ewol::Button("PICKUP/COIN"); mySizerVert2->SubWidgetAdd(myButton); mySizerVert2 = new ewol::SizerVert(); mySizerHori->SubWidgetAdd(mySizerVert2); mySpacer = new ewol::Spacer(); mySpacer->SetExpendY(true); mySizerVert2->SubWidgetAdd(mySpacer); mySizerHori2 = new ewol::SizerHori(); mySizerVert2->SubWidgetAdd(mySizerHori2); myLabel = new ewol::Label("HP FILTER CUTOFF SWEEP"); mySizerHori2->SubWidgetAdd(myLabel); mySlider = new ewol::Slider(); mySizerHori2->SubWidgetAdd(mySlider); mySizerHori2 = new ewol::SizerHori(); mySizerVert2->SubWidgetAdd(mySizerHori2); myLabel = new ewol::Label("HP FILTER CUTOFF"); mySizerHori2->SubWidgetAdd(myLabel); mySlider = new ewol::Slider(); mySizerHori2->SubWidgetAdd(mySlider); mySizerHori2 = new ewol::SizerHori(); mySizerVert2->SubWidgetAdd(mySizerHori2); myLabel = new ewol::Label("LP FILTER RESONANCE"); mySizerHori2->SubWidgetAdd(myLabel); mySlider = new ewol::Slider(); mySizerHori2->SubWidgetAdd(mySlider); mySizerHori2 = new ewol::SizerHori(); mySizerVert2->SubWidgetAdd(mySizerHori2); myLabel = new ewol::Label("LP FILTER CUTOFF SWEEP"); mySizerHori2->SubWidgetAdd(myLabel); mySlider = new ewol::Slider(); mySizerHori2->SubWidgetAdd(mySlider); mySizerHori2 = new ewol::SizerHori(); mySizerVert2->SubWidgetAdd(mySizerHori2); myLabel = new ewol::Label("LP FILTER CUTOFF"); mySizerHori2->SubWidgetAdd(myLabel); mySlider = new ewol::Slider(); mySizerHori2->SubWidgetAdd(mySlider); mySpacer = new ewol::Spacer(); mySpacer->SetExpendY(true); mySizerVert2->SubWidgetAdd(mySpacer); mySizerHori2 = new ewol::SizerHori(); mySizerVert2->SubWidgetAdd(mySizerHori2); myLabel = new ewol::Label("PHASER SWEEP"); mySizerHori2->SubWidgetAdd(myLabel); mySlider = new ewol::Slider(); mySizerHori2->SubWidgetAdd(mySlider); mySizerHori2 = new ewol::SizerHori(); mySizerVert2->SubWidgetAdd(mySizerHori2); myLabel = new ewol::Label("PHASER OFFSET"); mySizerHori2->SubWidgetAdd(myLabel); mySlider = new ewol::Slider(); mySizerHori2->SubWidgetAdd(mySlider); mySpacer = new ewol::Spacer(); mySpacer->SetExpendY(true); mySizerVert2->SubWidgetAdd(mySpacer); mySizerHori2 = new ewol::SizerHori(); mySizerVert2->SubWidgetAdd(mySizerHori2); myLabel = new ewol::Label("REPEAT SPEED"); mySizerHori2->SubWidgetAdd(myLabel); mySlider = new ewol::Slider(); mySizerHori2->SubWidgetAdd(mySlider); mySpacer = new ewol::Spacer(); mySpacer->SetExpendY(true); mySizerVert2->SubWidgetAdd(mySpacer); mySizerHori2 = new ewol::SizerHori(); mySizerVert2->SubWidgetAdd(mySizerHori2); myLabel = new ewol::Label("DUTY SWEEP"); mySizerHori2->SubWidgetAdd(myLabel); mySlider = new ewol::Slider(); mySizerHori2->SubWidgetAdd(mySlider); mySizerHori2 = new ewol::SizerHori(); mySizerVert2->SubWidgetAdd(mySizerHori2); myLabel = new ewol::Label("SQUARE DUTY"); mySizerHori2->SubWidgetAdd(myLabel); mySlider = new ewol::Slider(); mySizerHori2->SubWidgetAdd(mySlider); mySpacer = new ewol::Spacer(); mySpacer->SetExpendY(true); mySizerVert2->SubWidgetAdd(mySpacer); mySizerHori2 = new ewol::SizerHori(); mySizerVert2->SubWidgetAdd(mySizerHori2); myLabel = new ewol::Label("CHANGE SPEED"); mySizerHori2->SubWidgetAdd(myLabel); mySlider = new ewol::Slider(); mySizerHori2->SubWidgetAdd(mySlider); mySizerHori2 = new ewol::SizerHori(); mySizerVert2->SubWidgetAdd(mySizerHori2); myLabel = new ewol::Label("CHANGE AMOUNT"); mySizerHori2->SubWidgetAdd(myLabel); mySlider = new ewol::Slider(); mySizerHori2->SubWidgetAdd(mySlider); mySpacer = new ewol::Spacer(); mySpacer->SetExpendY(true); mySizerVert2->SubWidgetAdd(mySpacer); mySizerHori2 = new ewol::SizerHori(); mySizerVert2->SubWidgetAdd(mySizerHori2); myLabel = new ewol::Label("VIBRATO SPEED"); mySizerHori2->SubWidgetAdd(myLabel); mySlider = new ewol::Slider(); mySizerHori2->SubWidgetAdd(mySlider); mySizerHori2 = new ewol::SizerHori(); mySizerVert2->SubWidgetAdd(mySizerHori2); myLabel = new ewol::Label("VIBRATO DEPTH"); mySizerHori2->SubWidgetAdd(myLabel); mySlider = new ewol::Slider(); mySizerHori2->SubWidgetAdd(mySlider); mySizerHori2 = new ewol::SizerHori(); mySizerVert2->SubWidgetAdd(mySizerHori2); myLabel = new ewol::Label("DELTA SLIDE"); mySizerHori2->SubWidgetAdd(myLabel); mySlider = new ewol::Slider(); mySizerHori2->SubWidgetAdd(mySlider); mySizerHori2 = new ewol::SizerHori(); mySizerVert2->SubWidgetAdd(mySizerHori2); myLabel = new ewol::Label("SLIDE"); mySizerHori2->SubWidgetAdd(myLabel); mySlider = new ewol::Slider(); mySizerHori2->SubWidgetAdd(mySlider); mySizerHori2 = new ewol::SizerHori(); mySizerVert2->SubWidgetAdd(mySizerHori2); myLabel = new ewol::Label("MIN FREQUENCY"); mySizerHori2->SubWidgetAdd(myLabel); mySlider = new ewol::Slider(); mySizerHori2->SubWidgetAdd(mySlider); mySizerHori2 = new ewol::SizerHori(); mySizerVert2->SubWidgetAdd(mySizerHori2); myLabel = new ewol::Label("START FREQUENCY"); mySizerHori2->SubWidgetAdd(myLabel); mySlider = new ewol::Slider(); mySizerHori2->SubWidgetAdd(mySlider); mySpacer = new ewol::Spacer(); mySpacer->SetExpendY(true); mySizerVert2->SubWidgetAdd(mySpacer); mySizerHori2 = new ewol::SizerHori(); mySizerVert2->SubWidgetAdd(mySizerHori2); myLabel = new ewol::Label("DECAY TIME"); mySizerHori2->SubWidgetAdd(myLabel); mySlider = new ewol::Slider(); mySizerHori2->SubWidgetAdd(mySlider); mySizerHori2 = new ewol::SizerHori(); mySizerVert2->SubWidgetAdd(mySizerHori2); myLabel = new ewol::Label("SUSTAIN PUNCH"); mySizerHori2->SubWidgetAdd(myLabel); mySlider = new ewol::Slider(); mySizerHori2->SubWidgetAdd(mySlider); mySizerHori2 = new ewol::SizerHori(); mySizerVert2->SubWidgetAdd(mySizerHori2); myLabel = new ewol::Label("SUSTAIN TIME"); mySizerHori2->SubWidgetAdd(myLabel); mySlider = new ewol::Slider(); mySizerHori2->SubWidgetAdd(mySlider); mySizerHori2 = new ewol::SizerHori(); mySizerVert2->SubWidgetAdd(mySizerHori2); myLabel = new ewol::Label("ATTACK TIME"); mySizerHori2->SubWidgetAdd(myLabel); mySlider = new ewol::Slider(); mySizerHori2->SubWidgetAdd(mySlider); mySizerHori = new ewol::SizerHori(); mySizerVert->SubWidgetAdd(mySizerHori); myMenu = new ewol::Menu(); mySizerHori->SubWidgetAdd(myMenu); int32_t idMenuFile = myMenu->AddTitle("File"); /* (void)myMenu->Add(idMenuFile, "New", "", ednMsgGuiNew); (void)myMenu->AddSpacer(); (void)myMenu->Add(idMenuFile, "Open", "icon/Load.svg", ednMsgGuiOpen); (void)myMenu->Add(idMenuFile, "Close", "icon/Close.svg", ednMsgGuiClose, "current"); (void)myMenu->Add(idMenuFile, "Close (all)", "", ednMsgGuiClose, "All"); (void)myMenu->Add(idMenuFile, "Save", "icon/Save.svg", ednMsgGuiSave, "current"); (void)myMenu->Add(idMenuFile, "Save As ...", "", ednMsgGuiSaveAs); */ m_widgetLabelFileName = new ewol::Label("FileName"); m_widgetLabelFileName->SetExpendX(true); m_widgetLabelFileName->SetFillY(true); mySizerHori->SubWidgetAdd(m_widgetLabelFileName); // Generic event ... //RegisterMultiCast(ednMsgGuiSaveAs); } MainWindows::~MainWindows(void) { } const char *const ednEventPopUpFileSelected = "edn-mainWindows-openSelected"; const char *const ednEventPopUpFileSaveAs = "edn-mainWindows-saveAsSelected"; /** * @brief Receive a message from an other EObject with a specific eventId and data * @param[in] CallerObject Pointer on the EObject that information came from * @param[in] eventId Message registered by this class * @param[in] data Data registered by this class * @return --- */ void MainWindows::OnReceiveMessage(ewol::EObject * CallerObject, const char * eventId, etk::UString data) { ewol::Windows::OnReceiveMessage(CallerObject, eventId, data); return; } /** * @brief Inform object that an other object is removed ... * @param[in] removeObject Pointer on the EObject remeved ==> the user must remove all reference on this EObject * @note : Sub classes must call this class * @return --- */ void MainWindows::OnObjectRemove(ewol::EObject * removeObject) { ewol::Windows::OnObjectRemove(removeObject); /* if (m_widgetLabelFileName == removeObject) { m_widgetLabelFileName = NULL; } */ }