void onAddField(Model::ContactFieldId fieldId);
void onRemoveField(ContactFieldItem *item);
- void onFillChanged(bool isFilled);
+ void onContactFilled(bool isFilled);
void onDonePressed(Evas_Object *button, void *eventInfo);
void onCancelPressed(Evas_Object *button, void *eventInfo);
* @brief Callback to be called when the field becomes filled or not filled.
* @param[in] Whether the field is filled.
*/
- typedef std::function<void(bool)> FillChangedCallback;
+ typedef std::function<void(bool)> FillCallback;
/**
* @brief Create contact field.
bool isRequired() const;
/**
- * @brief Set field fill changed callback.
+ * @brief Set field fill callback.
* @param[in] callback Called when field fill state is changed.
*/
- void setFillChangedCallback(FillChangedCallback callback);
+ void setFillCallback(FillCallback callback);
/**
* @brief Cast field to derived type.
* @brief Should be called to report fill state change.
* @param[in] isFilled Whether field is filled
*/
- void onFillChanged(bool isFilled);
+ void onFilled(bool isFilled);
private:
contacts_record_h m_Record;
const ContactFieldMetadata &m_Metadata;
- FillChangedCallback m_OnFillChanged;
+ FillCallback m_OnFilled;
};
typedef std::unique_ptr<ContactField> ContactFieldPtr;
void removeField(ContactField &field);
private:
- void onChildFillChanged(bool isChildFilled);
+ void onChildFilled(bool isChildFilled);
ContactFields m_Fields;
size_t m_FilledCount = 0;
#ifndef CONTACTS_MODEL_CONTACT_FIELD_FACTORY_H
#define CONTACTS_MODEL_CONTACT_FIELD_FACTORY_H
-#include "Contacts/Model/ContactObject.h"
+#include "Contacts/Model/ContactField.h"
namespace Contacts
{
/**
* @brief Contact adaptor objects and fields factory
*/
- class ContactFactory
+ class ContactFieldFactory
{
public:
/**
{
int err = m_Contact.initialize(m_RecordId);
RETM_IF_ERR(err, "Contact::initialize() failed.");
- m_Contact.setFillChangedCallback(std::bind(&InputView::onFillChanged,
+ m_Contact.setFillCallback(std::bind(&InputView::onContactFilled,
this, std::placeholders::_1));
addFieldItem(addField(FieldImage));
removeField(field);
}
-void InputView::onFillChanged(bool isFilled)
+void InputView::onContactFilled(bool isFilled)
{
elm_object_disabled_set(m_DoneButton, !isFilled);
}
return m_Metadata.isRequired;
}
-void ContactField::setFillChangedCallback(FillChangedCallback callback)
+void ContactField::setFillCallback(FillCallback callback)
{
- m_OnFillChanged = std::move(callback);
+ m_OnFilled = std::move(callback);
}
unsigned ContactField::getId() const
return m_Metadata;
}
-void ContactField::onFillChanged(bool isFilled)
+void ContactField::onFilled(bool isFilled)
{
- if (m_OnFillChanged) {
- m_OnFillChanged(isFilled);
+ if (m_OnFilled) {
+ m_OnFilled(isFilled);
}
}
*/
#include "Contacts/Model/ContactFieldContainer.h"
-#include "Contacts/Model/ContactFactory.h"
+#include "Contacts/Model/ContactFieldFactory.h"
#include <algorithm>
ContactField &ContactFieldContainer::addField(contacts_record_h record,
const ContactFieldMetadata &metadata)
{
- ContactFieldPtr field = ContactFactory::createField(record, metadata);
+ ContactFieldPtr field = ContactFieldFactory::createField(record, metadata);
if (field->isRequired()) {
if (field->isFilled()) {
- onChildFillChanged(true);
+ onChildFilled(true);
}
- field->setFillChangedCallback(std::bind(&ContactFieldContainer::onChildFillChanged,
+ field->setFillCallback(std::bind(&ContactFieldContainer::onChildFilled,
this, std::placeholders::_1));
}
};
if (field.isRequired() && field.isFilled()) {
- onChildFillChanged(false);
+ onChildFilled(false);
}
m_Fields.erase(std::remove_if(m_Fields.begin(), m_Fields.end(), comp), m_Fields.end());
}
-void ContactFieldContainer::onChildFillChanged(bool isChildFilled)
+void ContactFieldContainer::onChildFilled(bool isChildFilled)
{
/* Equals zero if no fields were PREVIOUSLY filled or no fields are NOW filled */
size_t checkCount = isChildFilled ? m_FilledCount++ : --m_FilledCount;
if (checkCount == 0) {
- onFillChanged(isChildFilled);
+ onFilled(isChildFilled);
}
}
*
*/
-#include "Contacts/Model/ContactFactory.h"
+#include "Contacts/Model/ContactFieldFactory.h"
#include "Contacts/Model/ContactFieldMetadata.h"
#include "Contacts/Model/ContactArray.h"
using namespace Contacts::Model;
-ContactFieldPtr ContactFactory::createField(contacts_record_h record,
+ContactFieldPtr ContactFieldFactory::createField(contacts_record_h record,
const ContactFieldMetadata &metadata)
{
ContactField *field = nullptr;
return ContactFieldPtr(field);
}
-contacts_record_h ContactFactory::getObjectRecord(contacts_record_h record,
+contacts_record_h ContactFieldFactory::getObjectRecord(contacts_record_h record,
const ContactFieldMetadata &metadata)
{
contacts_record_h childRecord = nullptr;
bool isFilled = value && *value;
if (wasFilled != isFilled) {
- onFillChanged(isFilled);
+ onFilled(isFilled);
}
}
*/
#include "Contacts/Model/ContactTypedObject.h"
-#include "Contacts/Model/ContactFactory.h"
+#include "Contacts/Model/ContactFieldFactory.h"
#include "Contacts/Model/ContactFieldMetadata.h"
using namespace Contacts::Model;
void ContactTypedObject::initialize()
{
ContactObject::initialize();
- m_TypeField = ContactFactory::createField(getRecord(), getTypedObjectMetadata().typeField);
- m_LabelField = ContactFactory::createField(getRecord(), getTypedObjectMetadata().labelField);
+ m_TypeField = ContactFieldFactory::createField(getRecord(), getTypedObjectMetadata().typeField);
+ m_LabelField = ContactFieldFactory::createField(getRecord(), getTypedObjectMetadata().labelField);
}
void ContactTypedObject::reset()