예제 #1
0
LabelLayout::LabelLayout(analyzer_header *header, bool enable_reorder, bool enable_drag, FilterTabWidget *filters, QWidget *parent) : QHBoxLayout(parent)
{
    setSizeConstraint(QLayout::SetMinAndMaxSize);

    if(enable_reorder && enable_drag)
    {
        m_spacer_l = new QSpacerItem(20, 40, QSizePolicy::Expanding, QSizePolicy::Expanding);
        addSpacerItem(m_spacer_l);
    }
    else m_spacer_l = NULL;

    m_spacer_r = new QSpacerItem(20, 40, QSizePolicy::Expanding, QSizePolicy::Expanding);
    addSpacerItem(m_spacer_r);

    m_header = header;
    m_enableReorder = enable_reorder;
    m_enableDrag = enable_drag;
    if(m_enableReorder)
        ((QWidget*)parent)->setAcceptDrops(true);

    quint16 len = m_header->hasLen() ? m_header->length : m_header->packet_length;
    lenChanged(len);

    m_filterWidget = filters;

    QTimer *freeTimer = new QTimer(this);
    freeTimer->start(1000);
    connect(freeTimer, SIGNAL(timeout()), SLOT(freeLabels()));
}
예제 #2
0
LabelLayout::~LabelLayout()
{
    ClearLabels();
    freeLabels();

    removeItem(m_spacer_r);
    removeItem(m_spacer_l);
    delete m_spacer_r;
    delete m_spacer_l;
}
예제 #3
0
void Gfx::freeLocationObjects() {
	freeDialogueObjects();
	freeLabels();
}