// BlogBridge -- RSS feed reader, manager, and web based service // Copyright (C) 2002-2006 by R. Pito Salas // // This program is free software; you can redistribute it and/or modify it under // the terms of the GNU General Public License as published by the Free Software Foundation; // either version 2 of the License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. // See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along with this program; // if not, write to the Free Software Foundation, Inc., 59 Temple Place, // Suite 330, Boston, MA 02111-1307 USA // // Contact: R. Pito Salas // mailto:pitosalas@users.sourceforge.net // More information: about BlogBridge // http://www.blogbridge.com // http://sourceforge.net/projects/blogbridge // // $Id: IFeedDisplayConfig.java,v 1.17 2008/02/27 15:28:10 spyromus Exp $ // package com.salas.bb.views.feeds; import com.salas.bb.views.feeds.html.IArticleDisplayConfig; import com.salas.bb.views.settings.RenderingSettingsNames; import java.awt.*; import java.awt.event.KeyListener; import java.awt.event.MouseListener; import java.beans.PropertyChangeListener; /** * Feed view basic configuration. */ public interface IFeedDisplayConfig { String THEME = RenderingSettingsNames.THEME; String FILTER = RenderingSettingsNames.ARTICLE_FILTER; String MODE = RenderingSettingsNames.ARTICLE_VIEW_MODE; String SORT_ORDER = RenderingSettingsNames.IS_SORTING_ASCENDING; String GROUPS_VISIBLE = RenderingSettingsNames.IS_GROUPING_ENABLED; String EMPTY_GROUPS_VISIBLE = RenderingSettingsNames.IS_SHOW_EMPTY_GROUPS; String FONT_BIAS = RenderingSettingsNames.ARTICLE_FONT_BIAS; /** View mode layout change fake property telling the mode number. */ String VIEW_MODE_LAYOUT = "viewModeLayout"; /** * Returns the advisor object to use for keywords highlighting. * * @return advisor. */ IHighlightsAdvisor getHighlightsAdvisor(); /** * Returns <code>TRUE</code> if it's required to show groups. * * @return <code>TRUE</code> if it's required to show groups. */ boolean showGroups(); /** * Returns <code>TRUE</code> if it's required to show empty groups. * * @return <code>TRUE</code> if it's required to show empty groups. */ boolean showEmptyGroups(); /** * Returns key adapter which is reported of key events happening when * component has focus. * * @return adapter. */ KeyListener getKeyAdapter(); /** * Set configuration properties change listener. * * @param l listener. */ void setListener(PropertyChangeListener l); /** * Returns adapter which is listening to the mouse events (press/release/click) * from the views. Useful for context menus. * * @return popup adapter. */ MouseListener getViewPopupAdapter(); /** * Filter to use in order to hide articles. * * @return filter. * * @see com.salas.bb.views.feeds.IFeedDisplayConstants#FILTER_ALL * @see com.salas.bb.views.feeds.IFeedDisplayConstants#FILTER_KEYWORDS * @see com.salas.bb.views.feeds.IFeedDisplayConstants#FILTER_UNREAD */ int getFilter(); /** * Returns <code>TRUE</code> if ascending sorting selected. * * @return <code>TRUE</code> if ascending sorting selected. */ boolean isAscendingSorting(); /** * Returns the view mode. * * @return view mode. * * @see com.salas.bb.views.feeds.IFeedDisplayConstants#MODE_BRIEF * @see com.salas.bb.views.feeds.IFeedDisplayConstants#MODE_FULL * @see com.salas.bb.views.feeds.IFeedDisplayConstants#MODE_MINIMAL */ int getViewMode(); /** * Returns background color of the feed display. * * @return background color. */ Color getDisplayBGColor(); /** * Returns font of groups divider component. * * @return font. */ Font getGroupDividerFont(); /** * Returns the adapter for the article groups. * * @return popup adapter. */ MouseListener getGroupPopupAdapter(); /** * Returns configuration of articles views. * * @return configuration of articles views. */ IArticleDisplayConfig getArticleViewConfig(); }