コード例 #1
0
ファイル: GridDemo.cpp プロジェクト: bacchus/JUCE
    void resized() override
    {
         Grid grid;

         grid.rowGap    = 20_px;
         grid.columnGap = 20_px;

         using Track = Grid::TrackInfo;

         grid.templateRows = { Track (1_fr), Track (1_fr), Track (1_fr) };

         grid.templateColumns = { Track (1_fr),
                                  Track (1_fr),
                                  Track (1_fr) };


         grid.autoColumns = Track (1_fr);
         grid.autoRows    = Track (1_fr);

         grid.autoFlow = Grid::AutoFlow::column;

         grid.items.addArray ({ GridItem (items[0]).withArea (2, 2, 4, 4),
                                GridItem (items[1]),
                                GridItem (items[2]).withArea ({}, 3),
                                GridItem (items[3]),
                                GridItem (items[4]).withArea (GridItem::Span (2), {}),
                                GridItem (items[5]),
                                GridItem (items[6]),
                                GridItem (items[7]),
                                GridItem (items[8])
                              });

         grid.performLayout (getLocalBounds());
    }
コード例 #2
0
void DBGridIF::DiscreteStats() {
    DBInt recordID, layerID;
    DBFloat area, sumArea = 0.0;
    DBPosition pos;
    DBObjTableField *areaFLD = ItemTable->Field(DBrNGridArea);
    DBObjTableField *percentFLD = ItemTable->Field(DBrNGridPercent);
    DBObjRecord *layerRec, *record;

    for (recordID = 0; recordID < ItemTable->ItemNum(); ++recordID) {
        record = ItemTable->Item(recordID);
        areaFLD->Float(record, 0.0);
        percentFLD->Float(record, 0.0);
    }
    for (layerID = 0; layerID < LayerNum(); ++layerID) {
        layerRec = Layer(layerID);
        for (pos.Row = 0; pos.Row < RowNum(); ++pos.Row)
            for (pos.Col = 0; pos.Col < ColNum(); ++pos.Col)
                if ((record = GridItem(layerRec, pos)) != (DBObjRecord *) NULL) {
                    area = CellArea(pos);
                    sumArea += area;
                    areaFLD->Float(record, areaFLD->Float(record) + area);
                }
    }
    for (recordID = 0; recordID < ItemTable->ItemNum(); ++recordID) {
        record = ItemTable->Item(recordID);
        percentFLD->Float(record, areaFLD->Float(record) * 100.0 / sumArea);
    }
}
コード例 #3
0
char *DBGridIF::ValueString(DBObjRecord *layerRec, DBPosition pos) {
    static char retString[DBStringLength + 1];

    switch (DataPTR->Type()) {
        case DBTypeGridDiscrete:
            return (GridItem(layerRec, pos))->Name();
        case DBTypeGridContinuous: {
            DBFloat cellVal;
            if (Value(layerRec, pos, &cellVal) == false) return ((char *) "");
            sprintf(retString, ValueFormat(), cellVal);
        }
            break;
        default:
            CMmsgPrint(CMmsgAppError, "Invalid Data Type in: %s %d", __FILE__, __LINE__);
            return ((char *) NULL);
    }
    return (retString);
}