/* Do not edit this file. It was automatically generated. */

#ifndef HEADER_ColumnsPanel
#define HEADER_ColumnsPanel


#include "Panel.h"
#include "Settings.h"
#include "ScreenManager.h"

#include "debug.h"
#include <assert.h>


typedef struct ColumnsPanel_ {
   Panel super;

   Settings* settings;
   ScreenManager* scr;
} ColumnsPanel;


ColumnsPanel* ColumnsPanel_new(Settings* settings, ScreenManager* scr);

int ColumnsPanel_fieldNameToIndex(const char* name);

void ColumnsPanel_update(Panel* super);


#endif
