/// <summary>
 /// Creates a timeseries plot from a function list.
 /// </summary>
 /// <param name="functionList"></param>
 /// <param name="name"></param>
 /// <param name="row"></param>
 /// <param name="numRows"></param>
 /// <param name="mainVisualization"></param>
 public oTimeseriesPlot(oFunctionList functionList, string name, int row, int numRows, Microsoft.DirectX.Direct3D.Font directxFont, oVisMain mainVisualization, Device device )
 {
     this.functionList = functionList;
     this.name = name;
     this.row = row;
     this.numRows = numRows;
     this.directxFont = directxFont;
     this.mainVisualization = mainVisualization;
     this.device = device;
 }
Example #2
0
 /// <summary>
 /// Creates a timeseries plot from a function list.
 /// </summary>
 /// <param name="functionList"></param>
 /// <param name="name"></param>
 /// <param name="row"></param>
 /// <param name="numRows"></param>
 /// <param name="mainVisualization"></param>
 public oTimeseriesPlot(oFunctionList functionList, string name, int row, int numRows, Microsoft.DirectX.Direct3D.Font directxFont, oVisMain mainVisualization, Device device)
 {
     this.functionList      = functionList;
     this.name              = name;
     this.row               = row;
     this.numRows           = numRows;
     this.directxFont       = directxFont;
     this.mainVisualization = mainVisualization;
     this.device            = device;
 }
        public oTabFunctionList(oTabManager parent, ToolStrip toolStrip, Panel panelMain, ToolStrip mainToolStrip, string tabTitle, oFunctionList functionList, oVisMain visMain, oVisPlayBar visPlayBar)
            : base(parent, toolStrip, panelMain, mainToolStrip, tabTitle)
        {
            // Initialize the controls we need
            InitializeComponents();

            // Set the data source for the control
            functionListControl.FunctionList = functionList;

            // Set the function list parent tab
            if (functionList != null)
                functionList.parentControl = functionListControl;
        }
Example #4
0
        /// <summary>
        /// Initializes all the quick-lookup arrays required for high-performance lookups.
        /// </summary>
        /// <param name="functions">Array of oFunction classes. This should be the complete list of functions.</param>
        /// /// <param name="displayPanel">The display panel.</param>
        public void initialize(List <HEAP_INFO> map, List <oFunction> functions, oVisMain displayPanel)
        {
            // Clear the dynamic buffer data
            reset();

            // Create the module manager
            moduleManager = new oVisModuleManager(map, 3);

            // Initialize the arrays
            directCallSourcesHash = new Hashtable();
            functionLocationsHash = new Hashtable();
            functionLocationsList = new ArrayList();
            vertexFunctions       = new CustomVertex.TransformedColored[0];
            executedVertexIndices = new ArrayList(1000);

            // Create the lookup tables
            foreach (oFunction function in functions)
            {
                // Add this function
                //functionLocationsHash.Add(function.address, -1);
                functionLocationsList.Add(function.address);
            }

            // Sort the list
            functionLocationsList.Sort();

            // Add the direct call sources
            foreach (oFunction function in functions)
            {
                foreach (uint source in function.normalCallers)
                {
                    // Add this lookup entry

                    // Find the function corresponding to this function source
                    int index = functionLocationsList.BinarySearch(source);
                    if (index < 0)
                    {
                        index = ~index - 1;
                    }
                    if (index < 0)
                    {
                        index = 0;
                    }

                    // Add this function address
                    directCallSourcesHash.Add(source, functionLocationsList[index]);
                }
            }
        }
Example #5
0
        public oTabManager( TabControl tabController, ToolStrip toolStrip, oVisMain visMain, oVisPlayBar visPlayBar, Panel panelMain )
        {
            this.tabController = tabController;
            this.toolStrip = toolStrip;
            this.visMain = visMain;
            this.visPlayBar = visPlayBar;
            this.panelMain = panelMain;
            tabs = new List<oTab>(0);
            activeTab = tabController.SelectedIndex;

            // Create the toolstrip
            mainToolStrip = new ToolStrip();
            panelMain.Controls.Add(this.mainToolStrip);

            // Let's create callbacks from the tab controller.
            tabController.SelectedIndexChanged += tabController_SelectedIndexChanged;
        }
Example #6
0
        /// <summary>
        /// Initializes all the quick-lookup arrays required for high-performance lookups.
        /// </summary>
        /// <param name="functions">Array of oFunction classes. This should be the complete list of functions.</param>
        /// /// <param name="displayPanel">The display panel.</param>
        public void initialize(List<HEAP_INFO> map, List<oFunction> functions, oVisMain displayPanel)
        {
            // Clear the dynamic buffer data
            reset();

            // Create the module manager
            moduleManager = new oVisModuleManager(map,3);

            // Initialize the arrays
            directCallSourcesHash = new Hashtable();
            functionLocationsHash = new Hashtable();
            functionLocationsList = new ArrayList();
            vertexFunctions = new CustomVertex.TransformedColored[0];
            executedVertexIndices = new ArrayList(1000);

            // Create the lookup tables
            foreach (oFunction function in functions)
            {
                // Add this function
                //functionLocationsHash.Add(function.address, -1);
                functionLocationsList.Add(function.address);
            }

            // Sort the list
            functionLocationsList.Sort();

            // Add the direct call sources
            foreach (oFunction function in functions)
            {
                foreach (uint source in function.normalCallers)
                {
                    // Add this lookup entry

                    // Find the function corresponding to this function source
                    int index = functionLocationsList.BinarySearch(source);
                    if (index < 0)
                        index = ~index-1;
                    if (index < 0)
                        index = 0;

                    // Add this function address
                    directCallSourcesHash.Add(source, functionLocationsList[index]);
                }
            }
        }
Example #7
0
 public void setMainVisualization(oVisMain panel)
 {
     this.mainVisualization = panel;
 }
Example #8
0
 public void setMainVisualization(oVisMain panel)
 {
     this.mainVisualization = panel;
 }