add binfolder path relative filters, fix gbrp color model, vwdw timebar tweaks, title...
[goodguy/history.git] / cinelerra-5.1 / cinelerra / awindow.C
index f6a87ed849d194815edb7c7144ae35036ada9338..53d72903204311b21d4198f9f33f8cdb2b7b98c7 100644 (file)
 #include "awindowgui.h"
 #include "bcsignals.h"
 #include "clipedit.h"
+#include "effectlist.h"
 #include "labeledit.h"
+#include "labelpopup.h"
 
 AWindow::AWindow(MWindow *mwindow)
  : Thread(1, 0, 0)
 {
        this->mwindow = mwindow;
-       current_folder[0] = 0;
        asset_remove = 0;
-       asset_edit = 0;
        clip_edit = 0;
        label_edit = 0;
 }
@@ -47,10 +47,11 @@ AWindow::~AWindow()
                gui->unlock_window();
        }
        Thread::join();
+       asset_editors.remove_all_objects();
        delete asset_remove;
-       delete asset_edit;
        delete label_edit;
        delete clip_edit;
+       delete effect_tip;
 }
 
 void AWindow::create_objects()
@@ -59,9 +60,9 @@ void AWindow::create_objects()
        gui->create_objects();
        gui->async_update_assets();
        asset_remove = new AssetRemoveThread(mwindow);
-       asset_edit = new AssetEdit(mwindow);
        clip_edit = new ClipEdit(mwindow, this, 0);
        label_edit = new LabelEdit(mwindow, this, 0);
+       effect_tip = new EffectTipDialog(mwindow, this);
 }
 
 int AWindow::save_defaults(BC_Hash *defaults)
@@ -74,6 +75,21 @@ int AWindow::load_defaults(BC_Hash *defaults)
 }
 
 
+AssetEdit *AWindow::get_asset_editor()
+{
+       AssetEdit *asset_edit = 0;
+       for( int i=0; !asset_edit && i<asset_editors.size(); ++i ) {
+               AssetEdit *thread = asset_editors[i];
+               if( !thread->running() ) asset_edit = thread;
+       }
+       if( !asset_edit ) {
+               asset_edit = new AssetEdit(mwindow);
+               asset_editors.append(asset_edit);
+       }
+       return asset_edit;
+}
+
+
 void AWindow::run()
 {
        gui->run_window();