// Copyright 2011-2016 Google LLC // // 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. package com.google.security.zynamics.binnavi.Gui.MainWindow.Implementations; import com.google.security.zynamics.binnavi.Gui.Loaders.CViewOpener; import com.google.security.zynamics.binnavi.Gui.MainWindow.ViewSearcher.CViewSearcherDialog; import com.google.security.zynamics.binnavi.Gui.WindowManager.CWindowManager; import com.google.security.zynamics.binnavi.disassembly.views.INaviView; import com.google.security.zynamics.binnavi.disassembly.views.IViewContainer; import com.google.security.zynamics.zylib.disassembly.IAddress; import java.awt.Window; /** * Contains helper classes for searching through views. */ public final class CViewSearcher { /** * You are not supposed to instantiate this class. */ private CViewSearcher() { } /** * Searches through the views of a view container. * * @param parent Parent window used for dialogs. * @param container Container to search through. * @param address The initial address to search for. This argument can be null. */ public static void searchView(final Window parent, final IViewContainer container, final IAddress address) { final CViewSearcherDialog dlg = new CViewSearcherDialog(parent, container, address); dlg.setVisible(true); final INaviView result = dlg.getSelectionResult(); if (result != null) { CViewOpener.showView(parent, container, result, CWindowManager.instance().getLastWindow()); } } }