org.icepdf.ri.common.views.Controller Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of icepdf-viewer Show documentation
Show all versions of icepdf-viewer Show documentation
ICEpdf PDF Viewer Reference Implementation (RI)
/*
* Copyright 2006-2016 ICEsoft Technologies Inc.
*
* 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 org.icepdf.ri.common.views;
import org.icepdf.core.pobjects.Document;
import org.icepdf.core.search.DocumentSearchController;
import java.util.ResourceBundle;
/**
* A Controller is the glue between the model and view components.
* These methods allow the different parts of the view to remain
* in lock-step with each other and have access to the model,
* as necessary
*
* @since 2.0
*/
public interface Controller {
/**
* A Document is the root of the object hierarchy, giving access
* to the contents of a PDF file.
* Significantly, getDocument().getCatalog().getPageTree().getPage(int pageNumber)
* gives access to each Page, so that it might be drawn.
*
* @return Document root of the PDF file.
*/
public Document getDocument();
/**
* When viewing a PDF file, one or more pages may be viewed at
* a single time, but this page is the single page which is most
* predominantly being displayed.
*
* @return The zero-based index of the current Page being displayed
*/
public int getCurrentPageNumber();
/**
* Each Page may have its own rotation, but on top of that, the user
* may select to have the Page further rotated by 90, 180 or 270 degrees.
*
* @return The user's requested rotation
*/
public float getUserRotation();
/**
* The Page being shown may be zoomed in or out, to show more detail,
* or provide an overview.
*
* @return The user's requested zoom
*/
public float getUserZoom();
/**
* Gets controller responsible for Page view UI interaction.
*
* @return document view controller.
*/
public DocumentViewController getDocumentViewController();
/**
* Gets controller responsible for the document text searches.
*
* @return page view controller.
*/
public DocumentSearchController getDocumentSearchController();
/**
* Sets the tool mode used for the controller view. Tools such as
* text selection, panning and annotation selection can be used.
*
* @param toolType tool mode constants defined in DocumentViewModel
*/
public void setDocumentToolMode(final int toolType);
/**
* Gets the message bundle used by this class. Message bundle resources
* are loaded via the JVM default locale.
*
* @return message bundle used by this class.
*/
public ResourceBundle getMessageBundle();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy