/*****************************************************************************
 * Copyright (c) 2018 Ericsson
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 *****************************************************************************/
@import url("platform:/plugin/org.eclipse.ui.themes/css/e4-dark_linux.css");

/*
	All workbench colors from the platform (see e4-dark_basestyle.css) need to
	be added here. Otherwise they won't be loaded in the ColorRegistry and
	this would prevent proper styling.
*/
ThemesExtension { color-definition:
	'#org-eclipse-tracecompass-tmf-ui-BACKGROUND',
	'#org-eclipse-tracecompass-tmf-ui-FOREGROUND',
	'#org-eclipse-tracecompass-tmf-ui-BACKGROUND_SEL',
	'#org-eclipse-tracecompass-tmf-ui-FOREGROUND_SEL',
	'#org-eclipse-tracecompass-tmf-ui-BACKGROUND_SEL_NOFOCUS',
	'#org-eclipse-tracecompass-tmf-ui-FOREGROUND_SEL_NOFOCUS',
	'#org-eclipse-tracecompass-tmf-ui-TOOL_BACKGROUND',
	'#org-eclipse-tracecompass-tmf-ui-TOOL_FOREGROUND',
	'#org-eclipse-ui-workbench-DARK_BACKGROUND',
	'#org-eclipse-ui-workbench-DARK_FOREGROUND',
	'#org-eclipse-ui-workbench-INACTIVE_UNSELECTED_TABS_COLOR_START',
	'#org-eclipse-ui-workbench-INACTIVE_UNSELECTED_TABS_COLOR_END',
	'#org-eclipse-ui-workbench-INACTIVE_TAB_BG_START',
	'#org-eclipse-ui-workbench-INACTIVE_TAB_BG_END',
	'#org-eclipse-ui-workbench-INACTIVE_TAB_OUTER_KEYLINE_COLOR',
	'#org-eclipse-ui-workbench-INACTIVE_TAB_INNER_KEYLINE_COLOR',
	'#org-eclipse-ui-workbench-INACTIVE_TAB_OUTLINE_COLOR',
	'#org-eclipse-ui-workbench-INACTIVE_TAB_UNSELECTED_TEXT_COLOR',
	'#org-eclipse-ui-workbench-INACTIVE_TAB_SELECTED_TEXT_COLOR',
	'#org-eclipse-ui-workbench-ACTIVE_UNSELECTED_TABS_COLOR_START',
	'#org-eclipse-ui-workbench-ACTIVE_UNSELECTED_TABS_COLOR_END',
	'#org-eclipse-ui-workbench-ACTIVE_TAB_BG_START',
	'#org-eclipse-ui-workbench-ACTIVE_TAB_BG_END',
	'#org-eclipse-ui-workbench-ACTIVE_TAB_OUTER_KEYLINE_COLOR',
	'#org-eclipse-ui-workbench-ACTIVE_TAB_INNER_KEYLINE_COLOR',
	'#org-eclipse-ui-workbench-ACTIVE_TAB_OUTLINE_COLOR',
	'#org-eclipse-ui-workbench-ACTIVE_TAB_UNSELECTED_TEXT_COLOR',
	'#org-eclipse-ui-workbench-ACTIVE_TAB_SELECTED_TEXT_COLOR',
	'#org-eclipse-ui-workbench-ACTIVE_NOFOCUS_TAB_BG_START',
	'#org-eclipse-ui-workbench-ACTIVE_NOFOCUS_TAB_BG_END',
	'#org-eclipse-ui-workbench-ACTIVE_NOFOCUS_TAB_SELECTED_TEXT_COLOR',
	'#org-eclipse-ui-workbench-LINK_COLOR';
}

ColorDefinition#org-eclipse-tracecompass-tmf-ui-BACKGROUND {
	color: #353636;
	category: '#org.eclipse.tracecompass.tmf.ui.theme.category';
	label: "Default background";
}

ColorDefinition#org-eclipse-tracecompass-tmf-ui-FOREGROUND {
	color: #eeeeee;
	category: '#org.eclipse.tracecompass.tmf.ui.theme.category';
	label: "Default foreground";
}

ColorDefinition#org-eclipse-tracecompass-tmf-ui-BACKGROUND_SEL {
	color: #eeeeee;
	category: '#org.eclipse.tracecompass.tmf.ui.theme.category';
	label: "Default background when selected";
}

ColorDefinition#org-eclipse-tracecompass-tmf-ui-FOREGROUND_SEL {
	color: #353636;
	category: '#org.eclipse.tracecompass.tmf.ui.theme.category';
	label: "Default list foreground when selected";
}

ColorDefinition#org-eclipse-tracecompass-tmf-ui-BACKGROUND_SEL_NOFOCUS {
	color: #eeeeee;
	category: '#org.eclipse.tracecompass.tmf.ui.theme.category';
	label: "Default selection background when selected and no focus";
}

ColorDefinition#org-eclipse-tracecompass-tmf-ui-FOREGROUND_SEL_NOFOCUS {
	color: #353636;
	category: '#org.eclipse.tracecompass.tmf.ui.theme.category';
	label: "Default selection foreground when selected and no focus";
}

ColorDefinition#org-eclipse-tracecompass-tmf-ui-TOOL_BACKGROUND {
	color: #2f2f2f;
	category: '#org.eclipse.tracecompass.tmf.ui.theme.category';
	label: "Default tool background";
}

ColorDefinition#org-eclipse-tracecompass-tmf-ui-TOOL_FOREGROUND {
	color: #eeeeee;
	category: '#org.eclipse.tracecompass.tmf.ui.theme.category';
	label: "Default tool foreground";
}

IEclipsePreferences#org-eclipse-ui-workbench:org-eclipse-tracecompass-tmf-ui {
	preferences:
		'org.eclipse.tracecompass.tmf.ui.color.eventtable.highlight=0,128,0'
}

TimeGraphControl {
	background-color:#353636;
	color:#eeeeee
}

TimeEventFilterDialog {
	background-color:#353636;
	color:#eeeeee
}
