diff options
-rw-r--r-- | qtools/Doxyfile | 51 | ||||
-rw-r--r-- | src/config.xml | 12 | ||||
-rw-r--r-- | src/htmlgen.cpp | 75 | ||||
-rw-r--r-- | src/index.cpp | 146 | ||||
-rw-r--r-- | templates/html/fixed_tabs.css | 61 | ||||
-rw-r--r-- | templates/html/search_fixedtabs.css | 271 |
6 files changed, 520 insertions, 96 deletions
diff --git a/qtools/Doxyfile b/qtools/Doxyfile index 161a6d1..1e4fcf7 100644 --- a/qtools/Doxyfile +++ b/qtools/Doxyfile @@ -1,4 +1,4 @@ -# Doxyfile 1.8.4 +# Doxyfile 1.8.14 #--------------------------------------------------------------------------- # Project related configuration options @@ -10,6 +10,7 @@ PROJECT_BRIEF = PROJECT_LOGO = OUTPUT_DIRECTORY = ../qtools_docs CREATE_SUBDIRS = YES +ALLOW_UNICODE_NAMES = NO OUTPUT_LANGUAGE = English BRIEF_MEMBER_DESC = YES REPEAT_BRIEF = YES @@ -34,12 +35,14 @@ OPTIMIZE_FOR_FORTRAN = NO OPTIMIZE_OUTPUT_VHDL = NO EXTENSION_MAPPING = MARKDOWN_SUPPORT = YES +TOC_INCLUDE_HEADINGS = 0 AUTOLINK_SUPPORT = YES BUILTIN_STL_SUPPORT = NO CPP_CLI_SUPPORT = NO SIP_SUPPORT = NO IDL_PROPERTY_SUPPORT = YES DISTRIBUTE_GROUP_DOC = NO +GROUP_NESTED_COMPOUNDS = NO SUBGROUPING = YES INLINE_GROUPED_CLASSES = NO INLINE_SIMPLE_STRUCTS = NO @@ -62,7 +65,9 @@ HIDE_IN_BODY_DOCS = NO INTERNAL_DOCS = NO CASE_SENSE_NAMES = NO HIDE_SCOPE_NAMES = NO +HIDE_COMPOUND_REFERENCE= NO SHOW_INCLUDE_FILES = YES +SHOW_GROUPED_MEMB_INC = NO FORCE_LOCAL_INCLUDES = NO INLINE_INFO = YES SORT_MEMBER_DOCS = YES @@ -84,17 +89,18 @@ FILE_VERSION_FILTER = LAYOUT_FILE = CITE_BIB_FILES = #--------------------------------------------------------------------------- -# configuration options related to warning and progress messages +# Configuration options related to warning and progress messages #--------------------------------------------------------------------------- QUIET = NO WARNINGS = YES WARN_IF_UNDOCUMENTED = YES WARN_IF_DOC_ERROR = YES WARN_NO_PARAMDOC = NO +WARN_AS_ERROR = NO WARN_FORMAT = "$file:$line: $text " WARN_LOGFILE = #--------------------------------------------------------------------------- -# configuration options related to the input files +# Configuration options related to the input files #--------------------------------------------------------------------------- INPUT = . INPUT_ENCODING = UTF-8 @@ -116,7 +122,7 @@ FILTER_SOURCE_FILES = NO FILTER_SOURCE_PATTERNS = USE_MDFILE_AS_MAINPAGE = #--------------------------------------------------------------------------- -# configuration options related to source browsing +# Configuration options related to source browsing #--------------------------------------------------------------------------- SOURCE_BROWSER = YES INLINE_SOURCES = NO @@ -127,16 +133,14 @@ REFERENCES_LINK_SOURCE = YES SOURCE_TOOLTIPS = YES USE_HTAGS = NO VERBATIM_HEADERS = YES -CLANG_ASSISTED_PARSING = NO -CLANG_OPTIONS = #--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index +# Configuration options related to the alphabetical class index #--------------------------------------------------------------------------- ALPHABETICAL_INDEX = YES COLS_IN_ALPHA_INDEX = 4 IGNORE_PREFIX = Q #--------------------------------------------------------------------------- -# configuration options related to the HTML output +# Configuration options related to the HTML output #--------------------------------------------------------------------------- GENERATE_HTML = YES HTML_OUTPUT = @@ -150,6 +154,7 @@ HTML_COLORSTYLE_HUE = 220 HTML_COLORSTYLE_SAT = 100 HTML_COLORSTYLE_GAMMA = 80 HTML_TIMESTAMP = YES +HTML_DYNAMIC_MENUS = YES HTML_DYNAMIC_SECTIONS = NO HTML_INDEX_NUM_ENTRIES = 100 GENERATE_DOCSET = YES @@ -175,7 +180,7 @@ QHG_LOCATION = GENERATE_ECLIPSEHELP = YES ECLIPSE_DOC_ID = org.doxygen.qtools DISABLE_INDEX = NO -GENERATE_TREEVIEW = YES +GENERATE_TREEVIEW = NO ENUM_VALUES_PER_LINE = 4 TREEVIEW_WIDTH = 250 EXT_LINKS_IN_WINDOW = NO @@ -194,7 +199,7 @@ SEARCHDATA_FILE = searchdata.xml EXTERNAL_SEARCH_ID = EXTRA_SEARCH_MAPPINGS = #--------------------------------------------------------------------------- -# configuration options related to the LaTeX output +# Configuration options related to the LaTeX output #--------------------------------------------------------------------------- GENERATE_LATEX = YES LATEX_OUTPUT = @@ -205,6 +210,7 @@ PAPER_TYPE = a4wide EXTRA_PACKAGES = LATEX_HEADER = LATEX_FOOTER = +LATEX_EXTRA_STYLESHEET = LATEX_EXTRA_FILES = PDF_HYPERLINKS = YES USE_PDFLATEX = YES @@ -212,8 +218,9 @@ LATEX_BATCHMODE = NO LATEX_HIDE_INDICES = NO LATEX_SOURCE_CODE = YES LATEX_BIB_STYLE = plain +LATEX_TIMESTAMP = NO #--------------------------------------------------------------------------- -# configuration options related to the RTF output +# Configuration options related to the RTF output #--------------------------------------------------------------------------- GENERATE_RTF = NO RTF_OUTPUT = @@ -221,32 +228,33 @@ COMPACT_RTF = NO RTF_HYPERLINKS = NO RTF_STYLESHEET_FILE = RTF_EXTENSIONS_FILE = +RTF_SOURCE_CODE = NO #--------------------------------------------------------------------------- -# configuration options related to the man page output +# Configuration options related to the man page output #--------------------------------------------------------------------------- GENERATE_MAN = NO MAN_OUTPUT = MAN_EXTENSION = .3 +MAN_SUBDIR = MAN_LINKS = NO #--------------------------------------------------------------------------- -# configuration options related to the XML output +# Configuration options related to the XML output #--------------------------------------------------------------------------- GENERATE_XML = NO XML_OUTPUT = xml -XML_SCHEMA = -XML_DTD = XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- -# configuration options related to the DOCBOOK output +# Configuration options related to the DOCBOOK output #--------------------------------------------------------------------------- GENERATE_DOCBOOK = NO DOCBOOK_OUTPUT = docbook +DOCBOOK_PROGRAMLISTING = NO #--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output +# Configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- -# configuration options related to the Perl module output +# Configuration options related to the Perl module output #--------------------------------------------------------------------------- GENERATE_PERLMOD = NO PERLMOD_LATEX = NO @@ -265,7 +273,7 @@ PREDEFINED = Q_EXPORT= EXPAND_AS_DEFINED = SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- -# Configuration::additions related to external references +# Configuration options related to external references #--------------------------------------------------------------------------- TAGFILES = GENERATE_TAGFILE = ../qtools_docs/qtools.tag @@ -278,6 +286,7 @@ PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- CLASS_DIAGRAMS = YES MSCGEN_PATH = +DIA_PATH = HIDE_UNDOC_RELATIONS = YES HAVE_DOT = YES DOT_NUM_THREADS = 0 @@ -301,6 +310,10 @@ INTERACTIVE_SVG = YES DOT_PATH = DOTFILE_DIRS = MSCFILE_DIRS = +DIAFILE_DIRS = +PLANTUML_JAR_PATH = +PLANTUML_CFG_FILE = +PLANTUML_INCLUDE_PATH = DOT_GRAPH_MAX_NODES = 50 MAX_DOT_GRAPH_DEPTH = 0 DOT_TRANSPARENT = YES diff --git a/src/config.xml b/src/config.xml index 483eff1..227f8bf 100644 --- a/src/config.xml +++ b/src/config.xml @@ -1941,6 +1941,18 @@ hr.footer { ]]> </docs> </option> + <option type='bool' id='HTML_DYNAMIC_MENUS' defval='1' depends='GENERATE_HTML'> + <docs> +<![CDATA[ + If the \c HTML_DYNAMIC_MENUS tag is set to \c YES then the generated HTML + documentation will contain a main index with vertical navigation menus that + are dynamically created via Javascript. If disabled, the navigation index will consists of + multiple levels of tabs that are statically embedded in every HTML page. + Disable this option to support browsers that do not have Javascript, like + the Qt help browser. +]]> + </docs> + </option> <option type='bool' id='HTML_DYNAMIC_SECTIONS' defval='0' depends='GENERATE_HTML'> <docs> <![CDATA[ diff --git a/src/htmlgen.cpp b/src/htmlgen.cpp index 28a363b..12b71e1 100644 --- a/src/htmlgen.cpp +++ b/src/htmlgen.cpp @@ -310,7 +310,7 @@ static QCString substituteHtmlKeywords(const QCString &s, if (!serverBasedSearch) { - if (disableIndex) + if (disableIndex || !Config_getBool(HTML_DYNAMIC_MENUS)) { searchCssJs += "<script type=\"text/javascript\">\n" " $(document).ready(function() { init_search(); });\n" @@ -319,7 +319,7 @@ static QCString substituteHtmlKeywords(const QCString &s, } else { - if (disableIndex) + if (disableIndex || !Config_getBool(HTML_DYNAMIC_MENUS)) { searchCssJs += "<script type=\"text/javascript\">\n" " $(document).ready(function() {\n" @@ -730,13 +730,20 @@ void HtmlGenerator::init() createSubDirs(d); ResourceMgr &mgr = ResourceMgr::instance(); - mgr.copyResource("tabs.css",dname); + if (Config_getBool(HTML_DYNAMIC_MENUS)) + { + mgr.copyResourceAs("tabs.css",dname,"tabs.css"); + } + else // stylesheet for the 'old' static tabs + { + mgr.copyResourceAs("fixed_tabs.css",dname,"tabs.css"); + } mgr.copyResource("jquery.js",dname); if (Config_getBool(INTERACTIVE_SVG)) { mgr.copyResource("svgpan.js",dname); } - if (!Config_getBool(DISABLE_INDEX)) + if (!Config_getBool(DISABLE_INDEX) && Config_getBool(HTML_DYNAMIC_MENUS)) { mgr.copyResource("menu.js",dname); } @@ -826,6 +833,10 @@ void HtmlGenerator::writeSearchData(const char *dir) { searchCss = mgr.getAsString("search_nomenu.css"); } + else if (!Config_getBool(HTML_DYNAMIC_MENUS)) + { + searchCss = mgr.getAsString("search_fixedtabs.css"); + } else { searchCss = mgr.getAsString("search.css"); @@ -2149,8 +2160,36 @@ static void writeDefaultQuickLinks(FTextStream &t,bool compact, static bool searchEngine = Config_getBool(SEARCHENGINE); static bool externalSearch = Config_getBool(EXTERNAL_SEARCH); LayoutNavEntry *root = LayoutDocManager::instance().rootNavEntry(); - - if (compact) + LayoutNavEntry::Kind kind = (LayoutNavEntry::Kind)-1; + LayoutNavEntry::Kind altKind = (LayoutNavEntry::Kind)-1; // fall back for the old layout file + bool highlightParent=FALSE; + switch (hli) // map HLI enums to LayoutNavEntry::Kind enums + { + case HLI_Main: kind = LayoutNavEntry::MainPage; break; + case HLI_Modules: kind = LayoutNavEntry::Modules; break; + //case HLI_Directories: kind = LayoutNavEntry::Dirs; break; + case HLI_Namespaces: kind = LayoutNavEntry::NamespaceList; altKind = LayoutNavEntry::Namespaces; break; + case HLI_Hierarchy: kind = LayoutNavEntry::ClassHierarchy; break; + case HLI_Classes: kind = LayoutNavEntry::ClassIndex; altKind = LayoutNavEntry::Classes; break; + case HLI_Annotated: kind = LayoutNavEntry::ClassList; altKind = LayoutNavEntry::Classes; break; + case HLI_Files: kind = LayoutNavEntry::FileList; altKind = LayoutNavEntry::Files; break; + case HLI_NamespaceMembers: kind = LayoutNavEntry::NamespaceMembers; break; + case HLI_Functions: kind = LayoutNavEntry::ClassMembers; break; + case HLI_Globals: kind = LayoutNavEntry::FileGlobals; break; + case HLI_Pages: kind = LayoutNavEntry::Pages; break; + case HLI_Examples: kind = LayoutNavEntry::Examples; break; + case HLI_UserGroup: kind = LayoutNavEntry::UserGroup; break; + case HLI_ClassVisible: kind = LayoutNavEntry::ClassList; altKind = LayoutNavEntry::Classes; + highlightParent = TRUE; break; + case HLI_NamespaceVisible: kind = LayoutNavEntry::NamespaceList; altKind = LayoutNavEntry::Namespaces; + highlightParent = TRUE; break; + case HLI_FileVisible: kind = LayoutNavEntry::FileList; altKind = LayoutNavEntry::Files; + highlightParent = TRUE; break; + case HLI_None: break; + case HLI_Search: break; + } + + if (compact && Config_getBool(HTML_DYNAMIC_MENUS)) { QCString searchPage; if (externalSearch) @@ -2187,6 +2226,30 @@ static void writeDefaultQuickLinks(FTextStream &t,bool compact, t << "</script>" << endl; t << "<div id=\"main-nav\"></div>" << endl; } + else if (compact) // && !Config_getBool(HTML_DYNAMIC_MENUS) + { + // find highlighted index item + LayoutNavEntry *hlEntry = root->find(kind,kind==LayoutNavEntry::UserGroup ? file : 0); + if (!hlEntry && altKind!=(LayoutNavEntry::Kind)-1) { hlEntry=root->find(altKind); kind=altKind; } + if (!hlEntry) // highlighted item not found in the index! -> just show the level 1 index... + { + highlightParent=TRUE; + hlEntry = root->children().getFirst(); + if (hlEntry==0) + { + return; // argl, empty index! + } + } + if (kind==LayoutNavEntry::UserGroup) + { + LayoutNavEntry *e = hlEntry->children().getFirst(); + if (e) + { + hlEntry = e; + } + } + renderQuickLinksAsTabs(t,relPath,hlEntry,kind,highlightParent,hli==HLI_Search); + } else { renderQuickLinksAsTree(t,relPath,root); diff --git a/src/index.cpp b/src/index.cpp index d52fa77..10c1dcb 100644 --- a/src/index.cpp +++ b/src/index.cpp @@ -2571,38 +2571,40 @@ static void writeClassMemberIndexFiltered(OutputList &ol, ClassMemberHighlight h if (!disableIndex) { ol.writeQuickLinks(TRUE,HLI_Functions,0); -#if 0 - startQuickIndexList(ol); - - // index item for global member list - startQuickIndexItem(ol, - getCmhlInfo(0)->fname+Doxygen::htmlFileExtension,hl==CMHL_All,TRUE,first); - ol.writeString(fixSpaces(getCmhlInfo(0)->title)); - endQuickIndexItem(ol); - int i; - // index items per category member lists - for (i=1;i<CMHL_Total;i++) + if (!Config_getBool(HTML_DYNAMIC_MENUS)) { - if (documentedClassMembers[i]>0) + startQuickIndexList(ol); + + // index item for global member list + startQuickIndexItem(ol, + getCmhlInfo(0)->fname+Doxygen::htmlFileExtension,hl==CMHL_All,TRUE,first); + ol.writeString(fixSpaces(getCmhlInfo(0)->title)); + endQuickIndexItem(ol); + + int i; + // index items per category member lists + for (i=1;i<CMHL_Total;i++) { - startQuickIndexItem(ol,getCmhlInfo(i)->fname+Doxygen::htmlFileExtension,hl==i,TRUE,first); - ol.writeString(fixSpaces(getCmhlInfo(i)->title)); - //printf("multiPageIndex=%d first=%d fileName=%s file=%s title=%s\n", - // multiPageIndex,first,fileName.data(),getCmhlInfo(i)->fname,getCmhlInfo(i)->title.data()); - endQuickIndexItem(ol); + if (documentedClassMembers[i]>0) + { + startQuickIndexItem(ol,getCmhlInfo(i)->fname+Doxygen::htmlFileExtension,hl==i,TRUE,first); + ol.writeString(fixSpaces(getCmhlInfo(i)->title)); + //printf("multiPageIndex=%d first=%d fileName=%s file=%s title=%s\n", + // multiPageIndex,first,fileName.data(),getCmhlInfo(i)->fname,getCmhlInfo(i)->title.data()); + endQuickIndexItem(ol); + } } - } - endQuickIndexList(ol); + endQuickIndexList(ol); - // quick alphabetical index - if (quickIndex) - { - writeQuickMemberIndex(ol,g_memberIndexLetterUsed[hl],page, - getCmhlInfo(hl)->fname,multiPageIndex); + // quick alphabetical index + if (quickIndex) + { + writeQuickMemberIndex(ol,g_memberIndexLetterUsed[hl],page, + getCmhlInfo(hl)->fname,multiPageIndex); + } } -#endif } ol.endQuickIndices(); ol.writeSplitBar(fileName); @@ -2745,36 +2747,37 @@ static void writeFileMemberIndexFiltered(OutputList &ol, FileMemberHighlight hl) if (!disableIndex) { ol.writeQuickLinks(TRUE,HLI_Globals,0); -#if 0 - startQuickIndexList(ol); + if (!Config_getBool(HTML_DYNAMIC_MENUS)) + { + startQuickIndexList(ol); - // index item for all file member lists - startQuickIndexItem(ol, - getFmhlInfo(0)->fname+Doxygen::htmlFileExtension,hl==FMHL_All,TRUE,first); - ol.writeString(fixSpaces(getFmhlInfo(0)->title)); - endQuickIndexItem(ol); + // index item for all file member lists + startQuickIndexItem(ol, + getFmhlInfo(0)->fname+Doxygen::htmlFileExtension,hl==FMHL_All,TRUE,first); + ol.writeString(fixSpaces(getFmhlInfo(0)->title)); + endQuickIndexItem(ol); - int i; - // index items for per category member lists - for (i=1;i<FMHL_Total;i++) - { - if (documentedFileMembers[i]>0) + int i; + // index items for per category member lists + for (i=1;i<FMHL_Total;i++) { - startQuickIndexItem(ol, - getFmhlInfo(i)->fname+Doxygen::htmlFileExtension,hl==i,TRUE,first); - ol.writeString(fixSpaces(getFmhlInfo(i)->title)); - endQuickIndexItem(ol); + if (documentedFileMembers[i]>0) + { + startQuickIndexItem(ol, + getFmhlInfo(i)->fname+Doxygen::htmlFileExtension,hl==i,TRUE,first); + ol.writeString(fixSpaces(getFmhlInfo(i)->title)); + endQuickIndexItem(ol); + } } - } - endQuickIndexList(ol); + endQuickIndexList(ol); - if (quickIndex) - { - writeQuickMemberIndex(ol,g_fileIndexLetterUsed[hl],page, - getFmhlInfo(hl)->fname,multiPageIndex); + if (quickIndex) + { + writeQuickMemberIndex(ol,g_fileIndexLetterUsed[hl],page, + getFmhlInfo(hl)->fname,multiPageIndex); + } } -#endif } ol.endQuickIndices(); ol.writeSplitBar(fileName); @@ -2915,36 +2918,37 @@ static void writeNamespaceMemberIndexFiltered(OutputList &ol, if (!disableIndex) { ol.writeQuickLinks(TRUE,HLI_NamespaceMembers,0); -#if 0 - startQuickIndexList(ol); + if (!Config_getBool(HTML_DYNAMIC_MENUS)) + { + startQuickIndexList(ol); - // index item for all namespace member lists - startQuickIndexItem(ol, - getNmhlInfo(0)->fname+Doxygen::htmlFileExtension,hl==NMHL_All,TRUE,first); - ol.writeString(fixSpaces(getNmhlInfo(0)->title)); - endQuickIndexItem(ol); + // index item for all namespace member lists + startQuickIndexItem(ol, + getNmhlInfo(0)->fname+Doxygen::htmlFileExtension,hl==NMHL_All,TRUE,first); + ol.writeString(fixSpaces(getNmhlInfo(0)->title)); + endQuickIndexItem(ol); - int i; - // index items per category member lists - for (i=1;i<NMHL_Total;i++) - { - if (documentedNamespaceMembers[i]>0) + int i; + // index items per category member lists + for (i=1;i<NMHL_Total;i++) { - startQuickIndexItem(ol, - getNmhlInfo(i)->fname+Doxygen::htmlFileExtension,hl==i,TRUE,first); - ol.writeString(fixSpaces(getNmhlInfo(i)->title)); - endQuickIndexItem(ol); + if (documentedNamespaceMembers[i]>0) + { + startQuickIndexItem(ol, + getNmhlInfo(i)->fname+Doxygen::htmlFileExtension,hl==i,TRUE,first); + ol.writeString(fixSpaces(getNmhlInfo(i)->title)); + endQuickIndexItem(ol); + } } - } - endQuickIndexList(ol); + endQuickIndexList(ol); - if (quickIndex) - { - writeQuickMemberIndex(ol,g_namespaceIndexLetterUsed[hl],page, - getNmhlInfo(hl)->fname,multiPageIndex); + if (quickIndex) + { + writeQuickMemberIndex(ol,g_namespaceIndexLetterUsed[hl],page, + getNmhlInfo(hl)->fname,multiPageIndex); + } } -#endif } ol.endQuickIndices(); ol.writeSplitBar(fileName); diff --git a/templates/html/fixed_tabs.css b/templates/html/fixed_tabs.css new file mode 100644 index 0000000..93b0d51 --- /dev/null +++ b/templates/html/fixed_tabs.css @@ -0,0 +1,61 @@ +.tabs, .tabs2, .tabs3 { + background-image: url('tab_b.png'); + width: 100%; + z-index: 101; + font-size: 13px; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +} + +.tabs2 { + font-size: 10px; +} +.tabs3 { + font-size: 9px; +} + +.tablist { + margin: 0; + padding: 0; + display: table; +} + +.tablist li { + float: left; + display: table-cell; + background-image: url('tab_b.png'); + line-height: 36px; + list-style: none; +} + +.tablist a { + display: block; + padding: 0 20px; + font-weight: bold; + background-image:url('tab_s.png'); + background-repeat:no-repeat; + background-position:right; + color: ##30; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; + outline: none; +} + +.tabs3 .tablist a { + padding: 0 10px; +} + +.tablist a:hover { + background-image: url('tab_h.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); + text-decoration: none; +} + +.tablist li.current a { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} + diff --git a/templates/html/search_fixedtabs.css b/templates/html/search_fixedtabs.css new file mode 100644 index 0000000..a77ab21 --- /dev/null +++ b/templates/html/search_fixedtabs.css @@ -0,0 +1,271 @@ +/*---------------- Search Box */ + +#FSearchBox { + float: left; +} + +#MSearchBox { + white-space : nowrap; + position: absolute; + float: none; + display: inline; + margin-top: 8px; + right: 0px; + width: 170px; + z-index: 102; + background-color: white; +} + +#MSearchBox .left +{ + display:block; + position:absolute; + left:10px; + width:20px; + height:19px; + background:url('search_l.png') no-repeat; + background-position:right; +} + +#MSearchSelect { + display:block; + position:absolute; + width:20px; + height:19px; +} + +.left #MSearchSelect { + left:4px; +} + +.right #MSearchSelect { + right:5px; +} + +#MSearchField { + display:block; + position:absolute; + height:19px; + background:url('search_m.png') repeat-x; + border:none; + width:111px; + margin-left:20px; + padding-left:4px; + color: #909090; + outline: none; + font: 9pt Arial, Verdana, sans-serif; +} + +#FSearchBox #MSearchField { + margin-left:15px; +} + +#MSearchBox .right { + display:block; + position:absolute; + right:10px; + top:0px; + width:20px; + height:19px; + background:url('search_r.png') no-repeat; + background-position:left; +} + +#MSearchClose { + display: none; + position: absolute; + top: 4px; + background : none; + border: none; + margin: 0px 4px 0px 0px; + padding: 0px 0px; + outline: none; +} + +.left #MSearchClose { + left: 6px; +} + +.right #MSearchClose { + right: 2px; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid ##A0; + background-color: ##FA; + z-index: 1; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: ##50; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: ##F0; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: ##58; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: ##58; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; +} + +.SRResult { + display: none; +} + +DIV.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: ##F2; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + |