00001
00002
00003 #ifndef __EDITORCOMPILER_H
00004 #define __EDITORCOMPILER_H
00005
00006
00007 class EditorCompiler{
00008
00009 public:
00010 EditorCompiler(InputFilter *inputfilter, Component *start_component);
00011 void run();
00012
00013
00014
00015 private:
00016 InputFilter *inputfilter;
00017 ComponentBlock *head;
00018
00019 void filter_frame(FrameClass *f);
00020 ComponentBlock *compile(Component *start_component);
00021
00022
00023 };
00024
00025
00026 EditorCompiler(InputFilter *inputfilter, Component *start_component){
00027 this->inputfilter = inputfilter;
00028 head = compile(start_component);
00029 }
00030
00031 void Editor::run(){
00032
00033 while( inputfilter->has_next() ){
00034 FrameClass *f = inputfilter->next_frame();
00035 filter_frame(f);
00036 }
00037
00038 }
00039
00040
00041 #endif