void PolycodeTextEditor::handleEvent(Event *event) {

	if(event->getDispatcher() == findBar->replaceAllButton) {
		if(event->getEventType() == "UIEvent" && event->getEventCode() == UIEvent::CLICK_EVENT) {
			textInput->replaceAll(findBar->findInput->getText(), findBar->replaceInput->getText());
		}
	}


	if(event->getDispatcher() == findBar->closeButton) {
		if(event->getEventType() == "UIEvent" && event->getEventCode() == UIEvent::CLICK_EVENT) {
			hideFindBar();
		}
	}

	if(event->getDispatcher() == findBar->replaceInput) {
		if(event->getEventType() == "Event") {
		
			if(event->getEventCode() == Event::CANCEL_EVENT) {
				hideFindBar();
			}
					
			if(event->getEventCode() == Event::COMPLETE_EVENT) {
				textInput->findString(findBar->findInput->getText(), true, findBar->replaceInput->getText());
			}
			
		}
	}	
	
	
	if(event->getDispatcher() == findBar->findInput) {
		if(event->getEventType() == "Event") {
		
			if(event->getEventCode() == Event::CANCEL_EVENT) {
				hideFindBar();
			}
					
			if(event->getEventCode() == Event::COMPLETE_EVENT) {
				if(findBar->findInput->getText() != "") {
				if(findBar->findInput->getText() != lastFindString) {
					lastFindString = findBar->findInput->getText();
					textInput->findString(lastFindString);
				} else {
					textInput->findNext();
				}
				}
			}
			
		}
	}	
	PolycodeEditor::handleEvent(event);
}
void PolycodeTextEditor::handleEvent(Event *event) {

	if(event->getDispatcher() == textInput && event->getEventType() == "UIEvent") {
		if(!isLoading) {
			lastFindString = "";
			setHasChanges(true);
		}
	}

	if(event->getDispatcher() == findBar->functionList) {
		if(event->getEventType() == "UIEvent" && event->getEventCode() == UIEvent::CHANGE_EVENT) {
			FindMatch *match = (FindMatch*)findBar->functionList->getSelectedItem()->data;
			textInput->showLine(match->lineNumber, true);
		}		
	}

	if(event->getDispatcher() == findBar->replaceAllButton) {
		if(event->getEventType() == "UIEvent" && event->getEventCode() == UIEvent::CLICK_EVENT) {
			textInput->replaceAll(findBar->findInput->getText(), findBar->replaceInput->getText());
		}
	}


	if(event->getDispatcher() == findBar->closeButton) {
		if(event->getEventType() == "UIEvent" && event->getEventCode() == UIEvent::CLICK_EVENT) {
			hideFindBar();
		}
	}

	if(event->getDispatcher() == findBar->replaceInput) {
		if(event->getEventType() == "") {
		
			if(event->getEventCode() == Event::CANCEL_EVENT) {
				hideFindBar();
			}
					
			if(event->getEventCode() == Event::COMPLETE_EVENT) {
				textInput->findString(findBar->findInput->getText(), true, findBar->replaceInput->getText());
			}
			
		}
	}	
	
	
	if(event->getDispatcher() == findBar->findInput) {
		if(event->getEventType() == "") {
		
			if(event->getEventCode() == Event::CANCEL_EVENT) {
				hideFindBar();
			}
					
			if(event->getEventCode() == Event::COMPLETE_EVENT) {
				if(findBar->findInput->getText() != "") {
				if(findBar->findInput->getText() != lastFindString) {
					lastFindString = findBar->findInput->getText();
					textInput->findString(lastFindString);
				} else {
					textInput->findNext();
				}
				}
			}
			
		}
	}	
	PolycodeEditor::handleEvent(event);
}