You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.1 KiB
48 lines
1.1 KiB
#ifndef __FILECREATE_TYPECHOOSER_H__
|
|
#define __FILECREATE_TYPECHOOSER_H__
|
|
|
|
#include "filecreate_typechoosersig.h"
|
|
|
|
#include <kdebug.h>
|
|
|
|
class FileCreatePart;
|
|
|
|
namespace FileCreate {
|
|
|
|
class FileType;
|
|
|
|
class TypeChooser {
|
|
|
|
public:
|
|
|
|
TypeChooser(FileCreatePart * part) : m_part(part), m_current(NULL) {
|
|
m_signaller = new Signaller;
|
|
}
|
|
virtual ~TypeChooser() { delete m_signaller; }
|
|
|
|
virtual void setPart(FileCreatePart * part) { m_part = part; }
|
|
virtual FileCreatePart * part() const { return m_part; }
|
|
virtual void refresh() = 0;
|
|
virtual void setCurrent(const FileType * current) = 0;
|
|
virtual const FileType * current() const { return m_current; }
|
|
|
|
virtual void filetypeSelected(const FileType * filetype) {
|
|
m_current = filetype;
|
|
kdDebug(9034) << "type selected: about to signal" << endl;
|
|
if (filetype) m_signaller->signal(filetype);
|
|
kdDebug(9034) << "type selected: done signal" << endl;
|
|
}
|
|
|
|
const Signaller * signaller() const { return m_signaller; }
|
|
|
|
protected:
|
|
FileCreatePart * m_part;
|
|
Signaller * m_signaller;
|
|
const FileType * m_current;
|
|
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|