void TREE_ARAMA_KERNEL::FIND_SELECTED_ROW ()
{
    int return_value = ADAK_CONTINUE;

    if (m_selected_items.size() EQ 1) {
        return_value = SINGLE_LINE_SELECTED(GET_COLUMN_DATAS_FROM_ITEM(m_selected_items.at(0)));
    }
    else {
        QList<QStringList> selected_datas;

        for ( int i = 0 ; i < m_selected_items.count() ; i++ ) {
            selected_datas << GET_COLUMN_DATAS_FROM_ITEM(m_selected_items.at(i));
        }

        return_value = MULTI_LINE_SELECTED ( selected_datas );
    }

    switch ( return_value ) {
        case ADAK_EXIT:
            close();
            break;
        case ADAK_CONTINUE:
        default:
            break;
    }
}
void TREE_SECIM_KERNEL::FIND_SELECTED_ROW ()
{
    int return_value = ADAK_CONTINUE;

    if (sender()->metaObject()->className() NE QToolButton::staticMetaObject.className()) {
        QTreeWidgetItem * item = m_tree_widget->currentItem();
        if (m_selected_items.contains(item) EQ false AND ( item->childCount() EQ 0 OR GET_ANA_GRUPLAR_SELECTABLE() > 0 ) ) {
            m_selected_items << item;
        }
    }

    if (m_selected_items.size() EQ 1) {
        return_value = SINGLE_LINE_SELECTED(GET_COLUMN_DATAS_FROM_ITEM(m_selected_items.at(0)));
    }
    else {
        QList<QStringList> selected_datas;

        for ( int i = 0 ; i < m_selected_items.count() ; i++ ) {
            selected_datas << GET_COLUMN_DATAS_FROM_ITEM(m_selected_items.at(i));
        }

        return_value = MULTI_LINE_SELECTED ( selected_datas );
    }

    switch ( return_value ) {
        case ADAK_EXIT:
            close();
            break;
        case ADAK_CONTINUE:
        default:
            break;
    }
}
void TREE_KERNEL::SLOT_ADD_ITEM()
{
    QTreeWidgetItem * item = m_tree_widget->currentItem();

    QStringList column_datas = GET_COLUMN_DATAS_FROM_ITEM(item);

    ADD_ITEM ( sender(), column_datas );
}
void TREE_KERNEL::SLOT_UPDATE_ITEM()
{
    QTreeWidgetItem * item = m_tree_widget->currentItem();

    QStringList column_datas;
    column_datas = GET_COLUMN_DATAS_FROM_ITEM(item);

    UPDATE_ITEM ( column_datas );
}
void TREE_KERNEL::SLOT_BUTTON_CLICKED()
{
    QTreeWidgetItem * item   = m_tree_widget->currentItem();
    QAbstractButton * button = ( QAbstractButton * )sender();

    QStringList column_datas;
    column_datas = GET_COLUMN_DATAS_FROM_ITEM(item);

    BUTTON_CLICKED ( button, column_datas );
}
void TREE_ARAMA_KERNEL::SLOT_BUTTON_CLICKED()
{
    QTreeWidgetItem * item = m_tree_widget->currentItem();

    if (item EQ NULL) {
        return;
    }

    QAbstractButton * button = ( QAbstractButton * )sender();
    BUTTON_CLICKED ( button, GET_COLUMN_DATAS_FROM_ITEM(item) );
}
void TREE_ARAMA_KERNEL::ITEM_EXPANDED (QTreeWidgetItem * item)
{
    for ( int i = item->childCount() - 1 ; i >= 0 ; i-- ) {
        item->removeChild(item->child(i));
    }

    m_last_expanded_item = item;

    QStringList column_datas;
    column_datas = GET_COLUMN_DATAS_FROM_ITEM(item);

    ADD_CHILD_ITEMS ( column_datas );

    m_last_expanded_item = NULL;
}
void TREE_KERNEL::SLOT_DELETE_ITEM()
{
    QTreeWidgetItem * item = m_tree_widget->currentItem();

    QStringList column_datas;
    column_datas = GET_COLUMN_DATAS_FROM_ITEM(item);

    if ( CHECK_DELETE_ITEM( column_datas ) EQ ADAK_OK) {
        DELETE_ITEM( column_datas );
        m_last_deleted_item_parent = item->parent();
        int item_index = m_tree_widget->indexOfTopLevelItem(item);
        m_tree_widget->takeTopLevelItem(item_index);
        delete item;
    }
}
void TREE_SECIM_KERNEL::SLOT_ROW_CLICKED ()
{
    QTreeWidgetItem * item = m_tree_widget->currentItem();

    if ( item EQ NULL ) {
        return;
    }

    SELECTED_LINE ( GET_COLUMN_DATAS_FROM_ITEM(item) );

    if (m_is_multi_row EQ false) {
        m_selected_items.clear();
        m_selected_items << item;
        return;
    }

    QList<QTreeWidgetItem *> old_selected_items = m_selected_items;

    m_selected_items.clear();

    for ( int i = 0 ; i < m_tree_widget->topLevelItemCount() ; i++ ) {
        FIND_SELECTED_ITEMS(m_tree_widget->topLevelItem(i) , &old_selected_items );
    }
}
void TREE_ARAMA_KERNEL::SLOT_ROW_CLICKED ()
{
    QTreeWidgetItem * item = m_tree_widget->currentItem();

    if ( item EQ NULL ) {
        return;
    }

    if (m_selected_items.contains(item) EQ true) {
        m_selected_items << item;
        SELECTED_LINE ( GET_COLUMN_DATAS_FROM_ITEM(item) );
        if (m_is_multi_row EQ true) {
            QCheckBox * check_box = static_cast<QCheckBox *>(m_tree_widget->itemWidget(item,m_secilen_check_box_column));
            check_box->setCheckState(Qt::Checked);
        }
    }
    else {
        m_selected_items.removeOne(item);
        if (m_is_multi_row EQ true) {
            QCheckBox * check_box = static_cast<QCheckBox *>(m_tree_widget->itemWidget(item,m_secilen_check_box_column));
            check_box->setCheckState(Qt::Unchecked);
        }
    }
}