blob: da1300d75f95c247c34c82be0bedcdf782be31b8 [file] [log] [blame]
/**************************************************************************
*
* Copyright 2015-2016 Valve Corporation
* Copyright (C) 2015-2016 LunarG, Inc.
* All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* Author: Peter Lohrmann <peterl@valvesoftware.com> <plohrmann@gmail.com>
**************************************************************************/
#pragma once
#include "vktraceviewer_QTraceFileModel.h"
struct vktraceviewer_trace_file_info;
struct vktrace_SettingGroup;
class QWidget;
class QToolButton;
class QAction;
class QAbstractProxyModel;
class vktraceviewer_view
{
public:
virtual void reset_view() = 0;
// virtual void output_message(uint64_t packetIndex, QString message) = 0;
// virtual void output_warning(uint64_t packetIndex, QString message) = 0;
// virtual void output_error(uint64_t packetIndex, QString message) = 0;
virtual void add_setting_group(vktrace_SettingGroup* pGroup) = 0;
virtual unsigned int get_global_settings(vktrace_SettingGroup** ppGroups) = 0;
virtual void set_calltree_model(vktraceviewer_QTraceFileModel* pTraceFileModel, QAbstractProxyModel *pModel) = 0;
virtual void add_calltree_contextmenu_item(QAction* pAction) = 0;
virtual void select_call_at_packet_index(unsigned long long packetIndex) = 0;
virtual void highlight_timeline_item(unsigned long long packetArrayIndex, bool bScrollTo, bool bSelect) = 0;
// \return tab index of state viewer
virtual int add_custom_state_viewer(QWidget* pWidget, const QString& title, bool bBringToFront = false) = 0;
virtual void remove_custom_state_viewer(int tabIndex) = 0;
virtual void enable_custom_state_viewer(QWidget* pWidget, bool bEnabled) = 0;
virtual QToolButton* add_toolbar_button(const QString& title, bool bEnabled) = 0;
virtual void on_replay_state_changed(bool bReplayInProgress) = 0;
virtual unsigned long long get_current_packet_index() = 0;
};