public void showAutoComplete(InterfaceController controller, ConstructEditor editor, IAutoCompleteListener listener, EInterfaceAction binding)
	{ 
		if(mAutoCompleteDialog != null &&
				mAutoCompleteEditor != editor) {
			hideAutoComplete(true);
		}
		
		// Figure out top left position of dialog
		Component editorComponent = editor.get_component();
		Point locationOnScreen = editorComponent.getLocationOnScreen();
		Dimension sizeOnScreen = editorComponent.getSize();
		Point location = new Point(locationOnScreen.x, locationOnScreen.y + sizeOnScreen.height + 5);

		// Instantiate a new dialog for this editor
		if(mAutoCompleteEditor == null || mAutoCompleteEditor != editor) { 
			mAutoCompleteEditor = editor;
			mAutoCompleteDialog = new AutoCompleteDialog(controller, editor, listener, binding);		
		}
		
		// Update the location of the component
		// TODO: Constrain to desktop
		mAutoCompleteDialog.setLocation(location);
		mAutoCompleteDialog.setVisible(true);
		mAutoCompleteDialog.getEntryField().requestFocus();
	}