blob: 6ce1d1892e07921fbe09e8143a69cdd7863a2ff1 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2015 xored software, Inc.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* xored software, Inc. - initial API and Implementation (Andrey Sobolev)
*******************************************************************************/
package org.eclipse.dltk.debug.ui.breakpoints;
import org.eclipse.dltk.debug.core.model.IScriptBreakpoint;
import org.eclipse.dltk.debug.ui.IDLTKDebugUILanguageToolkit;
import org.eclipse.swt.widgets.Composite;
/**
* Interface to customize breakpoint property dialogs.
*
* Should be mixed to {@link IDLTKDebugUILanguageToolkit} interface at same
* time. Same extension point should be used.
*
* @author Andrey Sobolev
*
*/
public interface IScriptBreakpointPropertyPageExtension {
/**
* Return true in case only greater or equals hit count value it supported.
* Used to show simplefied interface in breakpoint property pages.
*
* @param breakpoint
*/
boolean hasOnlyGreaterOrEqualsHitCount(IScriptBreakpoint breakpoint);
/**
* Return false in case expression editor should not be available in
* breakpoint property pages.
*
* @param breakpoint
*/
boolean hasExpressionEditor(IScriptBreakpoint breakpoint);
/**
* Return true in case hitcount editor should be available.
*
* @param breakpoint
*/
boolean hasHitCountEditor(IScriptBreakpoint breakpoint);
/**
* Creates a extra editor for particular type of breakpoint code.
*/
IScriptBreakpointPropertyPageExtensionEditor createExtraPropertyEditor(
IScriptBreakpoint breakpoint);
public interface IScriptBreakpointPropertyPageExtensionEditor {
/**
* Create some additional contents in breakpoint property page.
*/
void createContents(Composite parent);
/**
* Load value of breakpoint contents to widget data.
*/
void loadContents(IScriptBreakpoint breakpoint);
/**
* Save values of widget data to breakpoint.
*
* @param breakpoint
*/
void saveContents(IScriptBreakpoint breakpoint);
}
}