00001 /* 00002 * Copyright (C) 2008-2010 Lorenzo Bettini, http://www.lorenzobettini.it 00003 * License: See COPYING file that comes with this distribution 00004 */ 00005 00006 #ifndef HIGHLIGHTSTATEDATA_H_ 00007 #define HIGHLIGHTSTATEDATA_H_ 00008 00009 #include <srchilite/sourcehighlighter.h> 00010 00011 namespace srchiliteqt { 00012 00016 struct HighlightStateData { 00018 srchilite::HighlightStatePtr currentState; 00019 00021 srchilite::HighlightStateStackPtr stateStack; 00022 00023 HighlightStateData() { 00024 } 00025 00030 HighlightStateData(const HighlightStateData& data) : 00031 currentState(data.currentState), 00032 stateStack(srchilite::HighlightStateStackPtr( 00033 new srchilite::HighlightStateStack(*(data.stateStack)))) { 00034 } 00035 00036 HighlightStateData(srchilite::HighlightStatePtr currentState_, 00037 srchilite::HighlightStateStackPtr stateStack_) : 00038 currentState(currentState_), stateStack(stateStack_) { 00039 } 00040 00044 void copyFrom(const HighlightStateData& data) { 00045 currentState = data.currentState; 00046 stateStack = srchilite::HighlightStateStackPtr( 00047 new srchilite::HighlightStateStack(*(data.stateStack))); 00048 } 00049 }; 00050 00051 } // namespace srchiliteqt 00052 00053 #endif /* HIGHLIGHTSTATEDATA_H_ */