00001 /* 00002 * HighlightStateData.h 00003 * 00004 * Created on: Dec 11, 2008 00005 * Author: Lorenzo Bettini <http://www.lorenzobettini.it>, (C) 2008 00006 * Copyright: See COPYING file that comes with this distribution 00007 */ 00008 00009 #ifndef HIGHLIGHTSTATEDATA_H_ 00010 #define HIGHLIGHTSTATEDATA_H_ 00011 00012 #include <srchilite/sourcehighlighter.h> 00013 00014 namespace srchiliteqt { 00015 00019 struct HighlightStateData { 00021 srchilite::HighlightStatePtr currentState; 00022 00024 srchilite::HighlightStateStackPtr stateStack; 00025 00026 HighlightStateData() { 00027 } 00028 00033 HighlightStateData(const HighlightStateData& data) : 00034 currentState(data.currentState), 00035 stateStack(srchilite::HighlightStateStackPtr( 00036 new srchilite::HighlightStateStack(*(data.stateStack)))) { 00037 } 00038 00039 HighlightStateData(srchilite::HighlightStatePtr currentState_, 00040 srchilite::HighlightStateStackPtr stateStack_) : 00041 currentState(currentState_), stateStack(stateStack_) { 00042 } 00043 00047 void copyFrom(const HighlightStateData& data) { 00048 currentState = data.currentState; 00049 stateStack = srchilite::HighlightStateStackPtr( 00050 new srchilite::HighlightStateStack(*(data.stateStack))); 00051 } 00052 }; 00053 00054 } // namespace srchiliteqt 00055 00056 #endif /* HIGHLIGHTSTATEDATA_H_ */