summaryrefslogtreecommitdiffstats
path: root/src/ftvhelp.cpp
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2003-03-08 14:22:15 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2003-03-08 14:22:15 (GMT)
commitb05064427c02bd5ae998856a0d708c440f610bde (patch)
treeeb0cd4bd519397a852945fb3acf64c0b65edcb2f /src/ftvhelp.cpp
parent448b28836eb910f95e2f1903b4dea5eb8548e424 (diff)
downloadDoxygen-b05064427c02bd5ae998856a0d708c440f610bde.zip
Doxygen-b05064427c02bd5ae998856a0d708c440f610bde.tar.gz
Doxygen-b05064427c02bd5ae998856a0d708c440f610bde.tar.bz2
Release-1.3-rc3-20030308
Diffstat (limited to 'src/ftvhelp.cpp')
-rw-r--r--src/ftvhelp.cpp24
1 files changed, 19 insertions, 5 deletions
diff --git a/src/ftvhelp.cpp b/src/ftvhelp.cpp
index 0ed9565..c010692 100644
--- a/src/ftvhelp.cpp
+++ b/src/ftvhelp.cpp
@@ -471,7 +471,7 @@ FTVHelp::FTVHelp()
{
/* initial depth */
//m_dc = 0;
- m_cf = 0;
+ //m_cf = 0;
m_indentNodes = new QList<FTVNode>[MAX_INDENT];
m_indentNodes[0].setAutoDelete(TRUE);
m_indent=0;
@@ -495,6 +495,7 @@ FTVHelp *FTVHelp::getInstance()
*/
void FTVHelp::initialize()
{
+#if 0
/* open the contents file */
QCString fName = Config_getString("HTML_OUTPUT") + "/tree.js";
m_cf = new QFile(fName);
@@ -519,6 +520,7 @@ void FTVHelp::initialize()
m_cts << Config_getString("PROJECT_NAME");
}
m_cts << "</b>\", \"\", \"\")\n";
+#endif
}
/*! Finalizes the FTV help. This will finish and close the
@@ -527,9 +529,9 @@ void FTVHelp::initialize()
*/
void FTVHelp::finalize()
{
- m_cts.unsetDevice();
- m_cf->close();
- delete m_cf;
+ //m_cts.unsetDevice();
+ //m_cf->close();
+ //delete m_cf;
generateTreeView();
//generateFolderTreeViewData();
}
@@ -690,6 +692,8 @@ void FTVHelp::generateIndent(QTextStream &t, FTVNode *n,int level)
void FTVHelp::generateLink(QTextStream &t,FTVNode *n)
{
QCString *dest;
+ //printf("FTVHelp::generateLink(ref=%s,file=%s,anchor=%s\n",
+ // n->ref.data(),n->file.data(),n->anchor.data());
if (!n->ref.isEmpty()) // link to entity imported via tag file
{
t << "<a class=\"elRef\" ";
@@ -920,7 +924,17 @@ void FTVHelp::generateTreeView()
t << "\n";
t << " <body bgcolor=\"#ffffff\">\n";
t << " <div class=\"directory\">\n";
- t << " <h3>Root</h3>\n";
+ t << " <h3>";
+ QCString &projName = Config_getString("PROJECT_NAME");
+ if (projName.isEmpty())
+ {
+ t << "Root";
+ }
+ else
+ {
+ t << projName;
+ }
+ t << "</h3>\n";
t << " <div style=\"display: block;\">\n";
generateTree(t,m_indentNodes[0],0);
0' href='#n90'>90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * Copyright by The HDF Group.                                               *
 * Copyright by the Board of Trustees of the University of Illinois.         *
 * All rights reserved.                                                      *
 *                                                                           *
 * This file is part of HDF5.  The full HDF5 copyright notice, including     *
 * terms governing use, modification, and redistribution, is contained in    *
 * the COPYING file, which can be found at the root of the source code       *
 * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.  *
 * If you do not have access to either file, you may request a copy from     *
 * help@hdfgroup.org.                                                        *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

/*
 * Programmer:  Leon Arber  <larber@uiuc.edu>
 *              Sept. 28, 2006.
 *
 * Purpose:     This is the first half of a two-part test that makes sure
 *              that a file can be read after a parallel application crashes
 *              as long as the file was flushed first.  We simulate a crash by
 *              calling _exit() since this doesn't flush HDF5 caches but
 *              still exits with success.
 */
#include "h5test.h"

const char *FILENAME[] = {
    "flush",
    "noflush",
    NULL
};

static int  data_g[100][100];

#define N_GROUPS    100


/*-------------------------------------------------------------------------
 * Function:    create_test_file
 *
 * Purpose:     Creates the file used in part 1 of the test
 *
 * Return:      Success:    A valid file ID
 *              Failure:    H5I_INVALID_HID
 *
 * Programmer:  Leon Arber
 *              Sept. 26, 2006
 *
 *-------------------------------------------------------------------------
 */
static hid_t
create_test_file(char *name, hid_t fapl_id)
{
    hid_t       fid             = H5I_INVALID_HID;
    hid_t       dcpl_id         = H5I_INVALID_HID;
    hid_t       sid             = H5I_INVALID_HID;
    hid_t       did             = H5I_INVALID_HID;
    hid_t       top_level_gid   = H5I_INVALID_HID;
    hid_t       gid             = H5I_INVALID_HID;
    hid_t       dxpl_id         = H5I_INVALID_HID;
    hsize_t     dims[2]         = {100, 100};
    hsize_t     chunk_dims[2]   = {5, 5};
    hsize_t     i, j;

    if((fid = H5Fcreate(name, H5F_ACC_TRUNC, H5P_DEFAULT, fapl_id)) < 0)
        goto error;

    /* Create a chunked dataset */
    if((dcpl_id = H5Pcreate(H5P_DATASET_CREATE)) < 0)
        goto error;
    if(H5Pset_chunk(dcpl_id, 2, chunk_dims) < 0)
        goto error;
    if((sid = H5Screate_simple(2, dims, NULL)) < 0)
        goto error;
    if((did = H5Dcreate2(fid, "dset", H5T_NATIVE_INT, sid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0)
        goto error;

    if((dxpl_id = H5Pcreate(H5P_DATASET_XFER)) < 0)
        goto error;
    if(H5Pset_dxpl_mpio(dxpl_id, H5FD_MPIO_COLLECTIVE) < 0)
        goto error;

    /* Write some data */
    for(i = 0; i < dims[0]; i++)
        for(j = 0; j < dims[1]; j++)
            data_g[i][j] = (int)(i + (i * j) + j);

    if(H5Dwrite(did, H5T_NATIVE_INT, sid, sid, dxpl_id, data_g) < 0)
        goto error;

    /* Create some groups */
    if((top_level_gid = H5Gcreate2(fid, "some_groups", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0)
        goto error;
    for(i = 0; i < N_GROUPS; i++) {
        HDsprintf(name, "grp%02u", (unsigned)i);
        if((gid = H5Gcreate2(top_level_gid, name, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0)
            goto error;
        if(H5Gclose(gid) < 0)
            goto error;
    }

    return fid;

error:
    return H5I_INVALID_HID;
} /* end create_test_file() */


/*-------------------------------------------------------------------------
 * Function:    main
 *
 * Purpose:     Part 1 of a two-part parallel H5Fflush() test.
 *
 * Return:      EXIT_FAILURE (always)
 *
 * Programmer:  Robb Matzke
 *              Friday, October 23, 1998
 *
 *-------------------------------------------------------------------------
 */
int
main(int argc, char* argv[])
{
    hid_t       fid1        = H5I_INVALID_HID;
    hid_t       fid2        = H5I_INVALID_HID;
    hid_t       fapl_id     = H5I_INVALID_HID;
    MPI_File    *mpifh_p    = NULL;
    char        name[1024];
    const char  *envval     = NULL;
    int         mpi_size;
    int         mpi_rank;
    MPI_Comm    comm        = MPI_COMM_WORLD;
    MPI_Info    info        = MPI_INFO_NULL;

    MPI_Init(&argc, &argv);
    MPI_Comm_size(comm, &mpi_size);
    MPI_Comm_rank(comm, &mpi_rank);

    if(mpi_rank == 0)
        TESTING("H5Fflush (part1)");

    /* Don't run using the split VFD */
    envval = HDgetenv("HDF5_DRIVER");
    if(envval == NULL)
        envval = "nomatch";

    if(!HDstrcmp(envval, "split")) {
        if(mpi_rank == 0) {
            SKIPPED();
            HDputs("    Test not compatible with current Virtual File Driver");
        }
        MPI_Finalize();
        HDexit(EXIT_FAILURE);
    }

    if((fapl_id = H5Pcreate(H5P_FILE_ACCESS)) < 0)
        goto error;
    if(H5Pset_fapl_mpio(fapl_id, comm, info) < 0)
        goto error;

    /* Create the file */
    h5_fixname(FILENAME[0], fapl_id, name, sizeof(name));
    if((fid1 = create_test_file(name, fapl_id)) < 0)
        goto error;
    /* Flush and exit without closing the library */
    if(H5Fflush(fid1, H5F_SCOPE_GLOBAL) < 0)
        goto error;

    /* Create the other file which will not be flushed */
    h5_fixname(FILENAME[1], fapl_id, name, sizeof(name));
    if((fid2 = create_test_file(name, fapl_id)) < 0)
        goto error;

    if(mpi_rank == 0)
        PASSED();

    HDfflush(stdout);
    HDfflush(stderr);

    /* Some systems like AIX do not like files not being closed when MPI_Finalize
     * is called.  So, we need to get the MPI file handles, close them by hand.
     * Then the _exit is still needed to stop at_exit from happening in some systems.
     * Note that MPIO VFD returns the address of the file-handle in the VFD struct
     * because MPI_File_close wants to modify the file-handle variable.
     */

    /* Close file 1 */
    if(H5Fget_vfd_handle(fid1, fapl_id, (void **)&mpifh_p) < 0)
        goto error;
    if(MPI_File_close(mpifh_p) != MPI_SUCCESS)
        goto error;

    /* Close file 2 */
    if(H5Fget_vfd_handle(fid2, fapl_id, (void **)&mpifh_p) < 0)
        goto error;
    if(MPI_File_close(mpifh_p) != MPI_SUCCESS)
        goto error;

    HDfflush(stdout);
    HDfflush(stderr);

    /* Always exit with a failure code!
     *
     * In accordance with the standard, not having all processes
     * call MPI_Finalize() can be considered an error, so mpiexec
     * et al. may indicate failure on return. It's much easier to
     * always ignore the failure condition than to handle some
     * platforms returning success and others failure.
     */
    HD_exit(EXIT_FAILURE);

error:
    HDfflush(stdout);
    HDfflush(stderr);
    HDprintf("*** ERROR ***\n");
    HDprintf("THERE WAS A REAL ERROR IN t_pflush1.\n");
    HD_exit(EXIT_FAILURE);
} /* end main() */