Skip to content

aui::archive::FileEntry#

Zip file entry.

Header:#include <AUI/Util/Archive.h>
CMake:aui_link(my_target PUBLIC aui::core)

Public fields and Signals#


name#

AStringView name

file path inside ZIP.

Examples#

examples/7guis/cells/src/AST.cpp

7GUIs Cells — Spreadsheet processor (Excel).

const T& expect(const Variant& variant) {
    if (std::holds_alternative<T>(variant)) {
        return std::get<T>(variant);
    }
    throw AException("VALUE {}"_format(AClass<T>::name()).uppercase());
}

struct BinaryOperatorNode : public INode {
    _unique<INode> left;
    _unique<INode> right;
examples/7guis/circle_drawer/src/main.cpp

7GUIs Circle Drawer — Undo, redo, dialog control.

        }
        return {
            {},
            {
              .name = "Adjust radius...",
              .onAction =
                  [this, circle] {
                      auto radiusPopup = _new<AWindow>(
                          "", 200_dp, 50_dp, dynamic_cast<AWindow*>(ASurface::current()), WindowStyle::MODAL);
                      radiusPopup->setContents(Vertical {
examples/7guis/cells/src/Tokens.h

7GUIs Cells — Spreadsheet processor (Excel).

#include "AUI/Util/ATokenizer.h"

namespace token {
struct Identifier {
    AString name;
};
struct Double {
    double value;
};
struct Semicolon {};   // ;
examples/7guis/cells/src/Cell.cpp

7GUIs Cells — Spreadsheet processor (Excel).

formula::Value Cell::evaluate() {
    return formula::evaluate(*spreadsheet, expression);
}

glm::uvec2 Cell::fromName(const AString& name) {
    glm::uvec2 out{UNDEFINED};
    auto it = name.begin();
    for (;it != name.end() && 'A' <= *it && *it <= 'Z'; ++it) {
        if (out.x == UNDEFINED) { out.x = 0; }
        out.x *= 26;
examples/7guis/cells/src/Cell.h

7GUIs Cells — Spreadsheet processor (Excel).

    static AString rowName(unsigned index);

    static constexpr auto UNDEFINED = std::numeric_limits<unsigned>::max();

    static glm::uvec2 fromName(const AString& name);
};
examples/7guis/crud/src/main.cpp

7GUIs CRUD — Create/Read/Update/Delete example.

using namespace declarative;

struct User {
    AProperty<AString> name;
    AProperty<AString> surname;
    APropertyPrecomputed<AString> displayName = [this] { return "{}, {}"_format(name, surname); };
};

class CRUDWindow: public AWindow {
examples/ui/views/tests/LayoutManagerTest.cpp

Views Example — All-in-one views building example.

 * Checks alignment (see "Alex2772, 2021, alex2772.ru" - it is not perfectly aligned)
 */
TEST_F(UILayoutManager, LastElementAlignment) {
    // copyright width can be also not minimal
    By::name("#copyright").check(widthIsMinimal(), "copyright width should be minimal");
}

/**
 * Checks alignment (looks like buttons and list views are not perfectly aligned)
 */

Public Methods#

open#


virtual aui::no_escape<IInputStream> FileEntry::open(const std::string& password = { })

Opens the zip entry for read.

Arguments
password