SlideShare a Scribd company logo
1 of 16
Download to read offline
Creating a Facebook Clone - Part XXXVII
© Codename One 2017 all rights reserved
tb.setUIID("Container");
setToolbar(tb);
}
private void showUserEditForm(User me) {
InstantUI iu = new InstantUI();
iu.excludeProperties(me.authtoken, me.avatar, me.cover,
me.friendRequests, me.friends, me.peopleYouMayKnow, me.id,
me.password, me.birthday);
iu.setMultiChoiceLabels(me.gender, "Male", "Female", "Other");
iu.setMultiChoiceValues(me.gender, "Male", "Female", "Other");
Container cnt = iu.createEditUI(me, true);
cnt.setUIID("PaddedContainer");
cnt.setScrollableY(true);
Form edit = new Form("Edit", new BorderLayout());
edit.add(BorderLayout.CENTER, cnt);
edit.getToolbar().setBackCommand("Back", e -> {
showBack();
UiBinding.unbind(me);
callSerially(() -> ServerAPI.update(me));
});
edit.show();
}
}
SettingsForm
tb.setUIID("Container");
setToolbar(tb);
}
private void showUserEditForm(User me) {
InstantUI iu = new InstantUI();
iu.excludeProperties(me.authtoken, me.avatar, me.cover,
me.friendRequests, me.friends, me.peopleYouMayKnow, me.id,
me.password, me.birthday);
iu.setMultiChoiceLabels(me.gender, "Male", "Female", "Other");
iu.setMultiChoiceValues(me.gender, "Male", "Female", "Other");
Container cnt = iu.createEditUI(me, true);
cnt.setUIID("PaddedContainer");
cnt.setScrollableY(true);
Form edit = new Form("Edit", new BorderLayout());
edit.add(BorderLayout.CENTER, cnt);
edit.getToolbar().setBackCommand("Back", e -> {
showBack();
UiBinding.unbind(me);
callSerially(() -> ServerAPI.update(me));
});
edit.show();
}
}
SettingsForm
tb.setUIID("Container");
setToolbar(tb);
}
private void showUserEditForm(User me) {
InstantUI iu = new InstantUI();
iu.excludeProperties(me.authtoken, me.avatar, me.cover,
me.friendRequests, me.friends, me.peopleYouMayKnow, me.id,
me.password, me.birthday);
iu.setMultiChoiceLabels(me.gender, "Male", "Female", "Other");
iu.setMultiChoiceValues(me.gender, "Male", "Female", "Other");
Container cnt = iu.createEditUI(me, true);
cnt.setUIID("PaddedContainer");
cnt.setScrollableY(true);
Form edit = new Form("Edit", new BorderLayout());
edit.add(BorderLayout.CENTER, cnt);
edit.getToolbar().setBackCommand("Back", e -> {
showBack();
UiBinding.unbind(me);
callSerially(() -> ServerAPI.update(me));
});
edit.show();
}
}
SettingsForm
tb.setUIID("Container");
setToolbar(tb);
}
private void showUserEditForm(User me) {
InstantUI iu = new InstantUI();
iu.excludeProperties(me.authtoken, me.avatar, me.cover,
me.friendRequests, me.friends, me.peopleYouMayKnow, me.id,
me.password, me.birthday);
iu.setMultiChoiceLabels(me.gender, "Male", "Female", "Other");
iu.setMultiChoiceValues(me.gender, "Male", "Female", "Other");
Container cnt = iu.createEditUI(me, true);
cnt.setUIID("PaddedContainer");
cnt.setScrollableY(true);
Form edit = new Form("Edit", new BorderLayout());
edit.add(BorderLayout.CENTER, cnt);
edit.getToolbar().setBackCommand("Back", e -> {
showBack();
UiBinding.unbind(me);
callSerially(() -> ServerAPI.update(me));
});
edit.show();
}
}
SettingsForm
tb.setUIID("Container");
setToolbar(tb);
}
private void showUserEditForm(User me) {
InstantUI iu = new InstantUI();
iu.excludeProperties(me.authtoken, me.avatar, me.cover,
me.friendRequests, me.friends, me.peopleYouMayKnow, me.id,
me.password, me.birthday);
iu.setMultiChoiceLabels(me.gender, "Male", "Female", "Other");
iu.setMultiChoiceValues(me.gender, "Male", "Female", "Other");
Container cnt = iu.createEditUI(me, true);
cnt.setUIID("PaddedContainer");
cnt.setScrollableY(true);
Form edit = new Form("Edit", new BorderLayout());
edit.add(BorderLayout.CENTER, cnt);
edit.getToolbar().setBackCommand("Back", e -> {
showBack();
UiBinding.unbind(me);
callSerially(() -> ServerAPI.update(me));
});
edit.show();
}
}
SettingsForm
tb.setUIID("Container");
setToolbar(tb);
}
private void showUserEditForm(User me) {
InstantUI iu = new InstantUI();
iu.excludeProperties(me.authtoken, me.avatar, me.cover,
me.friendRequests, me.friends, me.peopleYouMayKnow, me.id,
me.password, me.birthday);
iu.setMultiChoiceLabels(me.gender, "Male", "Female", "Other");
iu.setMultiChoiceValues(me.gender, "Male", "Female", "Other");
Container cnt = iu.createEditUI(me, true);
cnt.setUIID("PaddedContainer");
cnt.setScrollableY(true);
Form edit = new Form("Edit", new BorderLayout());
edit.add(BorderLayout.CENTER, cnt);
edit.getToolbar().setBackCommand("Back", e -> {
showBack();
UiBinding.unbind(me);
callSerially(() -> ServerAPI.update(me));
});
edit.show();
}
}
SettingsForm
new ListProperty<>("peopleYouMayKnow", User.class);
public final Property<String, User> authtoken =
new Property<>("authtoken");
public final Property<String, User> password =
new Property<>("password");
public final Property<Date, User> birthdayDate =
new Property<Date, User>("birthdayDate", Date.class) {
@Override
public Date get() {
if(birthday.get() == null) {
return null;
}
return new Date(birthday.get());
}
@Override
public User set(Date value) {
if(value == null) {
return birthday.set(null);
}
return birthday.set(value.getTime());
}
};
User
@Override
public User set(Date value) {
if(value == null) {
return birthday.set(null);
}
return birthday.set(value.getTime());
}
};
private final PropertyIndex idx = new PropertyIndex(this, "User",
id, firstName, familyName, email, phone, gender, avatar, cover,
birthday, birthdayDate, friends, friendRequests,
peopleYouMayKnow, authtoken, password);
public User() {
firstName.setLabel("First Name");
familyName.setLabel("Family Name");
email.setLabel("E-Mail");
phone.setLabel("Phone");
gender.setLabel("Gender");
birthdayDate.setLabel("Birthday");
password.setLabel("Password");
idx.setExcludeFromJSON(birthdayDate, true);
User
return birthday.set(null);
}
return birthday.set(value.getTime());
}
};
private final PropertyIndex idx = new PropertyIndex(this, "User",
id, firstName, familyName, email, phone, gender, avatar, cover,
birthday, birthdayDate, friends, friendRequests,
peopleYouMayKnow, authtoken, password);
public User() {
firstName.setLabel("First Name");
familyName.setLabel("Family Name");
email.setLabel("E-Mail");
phone.setLabel("Phone");
gender.setLabel("Gender");
birthdayDate.setLabel("Birthday");
password.setLabel("Password");
idx.setExcludeFromJSON(birthdayDate, true);
idx.setExcludeFromMap(birthdayDate, true);
}
@Override
User
return birthday.set(null);
}
return birthday.set(value.getTime());
}
};
private final PropertyIndex idx = new PropertyIndex(this, "User",
id, firstName, familyName, email, phone, gender, avatar, cover,
birthday, birthdayDate, friends, friendRequests,
peopleYouMayKnow, authtoken, password);
public User() {
firstName.setLabel("First Name");
familyName.setLabel("Family Name");
email.setLabel("E-Mail");
phone.setLabel("Phone");
gender.setLabel("Gender");
birthdayDate.setLabel("Birthday");
password.setLabel("Password");
idx.setExcludeFromJSON(birthdayDate, true);
idx.setExcludeFromMap(birthdayDate, true);
}
@Override
User
}
SettingsMargin {
padding: 0px;
margin: 0px 0px 5mm 0px;
}
LabelFrame {
background-color: white;
border: cn1-round-border;
padding: 0.5mm;
margin: 7mm 0px 0px 0px;
}
CameraLabel {
text-align: center;
background: #dddddd;
color: black;
border: cn1-round-border;
font-size: 2mm;
padding: 1mm;
margin: 0px;
}
theme.css
}
SettingsMargin {
padding: 0px;
margin: 0px 0px 5mm 0px;
}
LabelFrame {
background-color: white;
border: cn1-round-border;
padding: 0.5mm;
margin: 7mm 0px 0px 0px;
}
CameraLabel {
text-align: center;
background: #dddddd;
color: black;
border: cn1-round-border;
font-size: 2mm;
padding: 1mm;
margin: 0px;
}
theme.css
color: black;
font-family: "native:MainThin";
font-size: 2.6mm;
border: cn1-pill-border;
background-color: #dbdbdb;
padding: 1mm 3mm 1mm 3mm;
margin: 1mm;
}
SettingsMargin {
padding: 0px;
margin: 0px 0px 5mm 0px;
}
LabelFrame {
background-color: white;
border: cn1-round-border;
padding: 0.5mm;
margin: 7mm 0px 0px 0px;
}
CameraLabel {
text-align: center;
background: #dddddd;
theme.css
LabelFrame {
background-color: white;
border: cn1-round-border;
padding: 0.5mm;
margin: 7mm 0px 0px 0px;
}
CameraLabel {
text-align: center;
background: #dddddd;
color: black;
border: cn1-round-border;
font-size: 2mm;
padding: 1mm;
margin: 0px;
}
CenterLargeThinLabel {
text-align: center;
font-size: 4mm;
font-family: "native:MainThin";
color: black;
padding: 2mm 1mm 2mm 1mm;
}
theme.css

More Related Content

Similar to Creating a Facebook Clone - Part XXXVII.pdf

Creating a Facebook Clone - Part X.pdf
Creating a Facebook Clone - Part X.pdfCreating a Facebook Clone - Part X.pdf
Creating a Facebook Clone - Part X.pdfShaiAlmog1
 
Creating a Facebook Clone - Part XV.pdf
Creating a Facebook Clone - Part XV.pdfCreating a Facebook Clone - Part XV.pdf
Creating a Facebook Clone - Part XV.pdfShaiAlmog1
 
Initial UI Mockup - Part 3.pdf
Initial UI Mockup - Part 3.pdfInitial UI Mockup - Part 3.pdf
Initial UI Mockup - Part 3.pdfShaiAlmog1
 
Creating a Facebook Clone - Part VI.pdf
Creating a Facebook Clone - Part VI.pdfCreating a Facebook Clone - Part VI.pdf
Creating a Facebook Clone - Part VI.pdfShaiAlmog1
 
Creating a Facebook Clone - Part XVI.pdf
Creating a Facebook Clone - Part XVI.pdfCreating a Facebook Clone - Part XVI.pdf
Creating a Facebook Clone - Part XVI.pdfShaiAlmog1
 
Creating an Uber Clone - Part XXXX - Transcript.pdf
Creating an Uber Clone - Part XXXX - Transcript.pdfCreating an Uber Clone - Part XXXX - Transcript.pdf
Creating an Uber Clone - Part XXXX - Transcript.pdfShaiAlmog1
 
Creating a Facebook Clone - Part X - Transcript.pdf
Creating a Facebook Clone - Part X - Transcript.pdfCreating a Facebook Clone - Part X - Transcript.pdf
Creating a Facebook Clone - Part X - Transcript.pdfShaiAlmog1
 
Creating a Facebook Clone - Part VIII.pdf
Creating a Facebook Clone - Part VIII.pdfCreating a Facebook Clone - Part VIII.pdf
Creating a Facebook Clone - Part VIII.pdfShaiAlmog1
 
Creating a Facebook Clone - Part VI - Transcript.pdf
Creating a Facebook Clone - Part VI - Transcript.pdfCreating a Facebook Clone - Part VI - Transcript.pdf
Creating a Facebook Clone - Part VI - Transcript.pdfShaiAlmog1
 
Creating a Facebook Clone - Part XIII.pdf
Creating a Facebook Clone - Part XIII.pdfCreating a Facebook Clone - Part XIII.pdf
Creating a Facebook Clone - Part XIII.pdfShaiAlmog1
 
Creating a Facebook Clone - Part XLVI.pdf
Creating a Facebook Clone - Part XLVI.pdfCreating a Facebook Clone - Part XLVI.pdf
Creating a Facebook Clone - Part XLVI.pdfShaiAlmog1
 
Creating a Whatsapp Clone - Part XI.pdf
Creating a Whatsapp Clone - Part XI.pdfCreating a Whatsapp Clone - Part XI.pdf
Creating a Whatsapp Clone - Part XI.pdfShaiAlmog1
 
Kotlin Data Model
Kotlin Data ModelKotlin Data Model
Kotlin Data ModelKros Huang
 
UI Design From Scratch - Part 5.pdf
UI Design From Scratch - Part 5.pdfUI Design From Scratch - Part 5.pdf
UI Design From Scratch - Part 5.pdfShaiAlmog1
 
JavaScript Objects and OOP Programming with JavaScript
JavaScript Objects and OOP Programming with JavaScriptJavaScript Objects and OOP Programming with JavaScript
JavaScript Objects and OOP Programming with JavaScriptLaurence Svekis ✔
 
Creating a Facebook Clone - Part XXIX - Transcript.pdf
Creating a Facebook Clone - Part XXIX - Transcript.pdfCreating a Facebook Clone - Part XXIX - Transcript.pdf
Creating a Facebook Clone - Part XXIX - Transcript.pdfShaiAlmog1
 
package net.codejava.swing.mail;import java.awt.Font;import java.pdf
package net.codejava.swing.mail;import java.awt.Font;import java.pdfpackage net.codejava.swing.mail;import java.awt.Font;import java.pdf
package net.codejava.swing.mail;import java.awt.Font;import java.pdfsudhirchourasia86
 

Similar to Creating a Facebook Clone - Part XXXVII.pdf (20)

Creating a Facebook Clone - Part X.pdf
Creating a Facebook Clone - Part X.pdfCreating a Facebook Clone - Part X.pdf
Creating a Facebook Clone - Part X.pdf
 
Creating a Facebook Clone - Part XV.pdf
Creating a Facebook Clone - Part XV.pdfCreating a Facebook Clone - Part XV.pdf
Creating a Facebook Clone - Part XV.pdf
 
Initial UI Mockup - Part 3.pdf
Initial UI Mockup - Part 3.pdfInitial UI Mockup - Part 3.pdf
Initial UI Mockup - Part 3.pdf
 
Creating a Facebook Clone - Part VI.pdf
Creating a Facebook Clone - Part VI.pdfCreating a Facebook Clone - Part VI.pdf
Creating a Facebook Clone - Part VI.pdf
 
Creating a Facebook Clone - Part XVI.pdf
Creating a Facebook Clone - Part XVI.pdfCreating a Facebook Clone - Part XVI.pdf
Creating a Facebook Clone - Part XVI.pdf
 
Vaadin7
Vaadin7Vaadin7
Vaadin7
 
Build your own entity with Drupal
Build your own entity with DrupalBuild your own entity with Drupal
Build your own entity with Drupal
 
Creating an Uber Clone - Part XXXX - Transcript.pdf
Creating an Uber Clone - Part XXXX - Transcript.pdfCreating an Uber Clone - Part XXXX - Transcript.pdf
Creating an Uber Clone - Part XXXX - Transcript.pdf
 
Creating a Facebook Clone - Part X - Transcript.pdf
Creating a Facebook Clone - Part X - Transcript.pdfCreating a Facebook Clone - Part X - Transcript.pdf
Creating a Facebook Clone - Part X - Transcript.pdf
 
Creating a Facebook Clone - Part VIII.pdf
Creating a Facebook Clone - Part VIII.pdfCreating a Facebook Clone - Part VIII.pdf
Creating a Facebook Clone - Part VIII.pdf
 
Creating a Facebook Clone - Part VI - Transcript.pdf
Creating a Facebook Clone - Part VI - Transcript.pdfCreating a Facebook Clone - Part VI - Transcript.pdf
Creating a Facebook Clone - Part VI - Transcript.pdf
 
Creating a Facebook Clone - Part XIII.pdf
Creating a Facebook Clone - Part XIII.pdfCreating a Facebook Clone - Part XIII.pdf
Creating a Facebook Clone - Part XIII.pdf
 
Creating a Facebook Clone - Part XLVI.pdf
Creating a Facebook Clone - Part XLVI.pdfCreating a Facebook Clone - Part XLVI.pdf
Creating a Facebook Clone - Part XLVI.pdf
 
MaintainStaffTable
MaintainStaffTableMaintainStaffTable
MaintainStaffTable
 
Creating a Whatsapp Clone - Part XI.pdf
Creating a Whatsapp Clone - Part XI.pdfCreating a Whatsapp Clone - Part XI.pdf
Creating a Whatsapp Clone - Part XI.pdf
 
Kotlin Data Model
Kotlin Data ModelKotlin Data Model
Kotlin Data Model
 
UI Design From Scratch - Part 5.pdf
UI Design From Scratch - Part 5.pdfUI Design From Scratch - Part 5.pdf
UI Design From Scratch - Part 5.pdf
 
JavaScript Objects and OOP Programming with JavaScript
JavaScript Objects and OOP Programming with JavaScriptJavaScript Objects and OOP Programming with JavaScript
JavaScript Objects and OOP Programming with JavaScript
 
Creating a Facebook Clone - Part XXIX - Transcript.pdf
Creating a Facebook Clone - Part XXIX - Transcript.pdfCreating a Facebook Clone - Part XXIX - Transcript.pdf
Creating a Facebook Clone - Part XXIX - Transcript.pdf
 
package net.codejava.swing.mail;import java.awt.Font;import java.pdf
package net.codejava.swing.mail;import java.awt.Font;import java.pdfpackage net.codejava.swing.mail;import java.awt.Font;import java.pdf
package net.codejava.swing.mail;import java.awt.Font;import java.pdf
 

More from ShaiAlmog1

The Duck Teaches Learn to debug from the masters. Local to production- kill ...
The Duck Teaches  Learn to debug from the masters. Local to production- kill ...The Duck Teaches  Learn to debug from the masters. Local to production- kill ...
The Duck Teaches Learn to debug from the masters. Local to production- kill ...ShaiAlmog1
 
create-netflix-clone-06-client-ui.pdf
create-netflix-clone-06-client-ui.pdfcreate-netflix-clone-06-client-ui.pdf
create-netflix-clone-06-client-ui.pdfShaiAlmog1
 
create-netflix-clone-01-introduction_transcript.pdf
create-netflix-clone-01-introduction_transcript.pdfcreate-netflix-clone-01-introduction_transcript.pdf
create-netflix-clone-01-introduction_transcript.pdfShaiAlmog1
 
create-netflix-clone-02-server_transcript.pdf
create-netflix-clone-02-server_transcript.pdfcreate-netflix-clone-02-server_transcript.pdf
create-netflix-clone-02-server_transcript.pdfShaiAlmog1
 
create-netflix-clone-04-server-continued_transcript.pdf
create-netflix-clone-04-server-continued_transcript.pdfcreate-netflix-clone-04-server-continued_transcript.pdf
create-netflix-clone-04-server-continued_transcript.pdfShaiAlmog1
 
create-netflix-clone-01-introduction.pdf
create-netflix-clone-01-introduction.pdfcreate-netflix-clone-01-introduction.pdf
create-netflix-clone-01-introduction.pdfShaiAlmog1
 
create-netflix-clone-06-client-ui_transcript.pdf
create-netflix-clone-06-client-ui_transcript.pdfcreate-netflix-clone-06-client-ui_transcript.pdf
create-netflix-clone-06-client-ui_transcript.pdfShaiAlmog1
 
create-netflix-clone-03-server.pdf
create-netflix-clone-03-server.pdfcreate-netflix-clone-03-server.pdf
create-netflix-clone-03-server.pdfShaiAlmog1
 
create-netflix-clone-04-server-continued.pdf
create-netflix-clone-04-server-continued.pdfcreate-netflix-clone-04-server-continued.pdf
create-netflix-clone-04-server-continued.pdfShaiAlmog1
 
create-netflix-clone-05-client-model_transcript.pdf
create-netflix-clone-05-client-model_transcript.pdfcreate-netflix-clone-05-client-model_transcript.pdf
create-netflix-clone-05-client-model_transcript.pdfShaiAlmog1
 
create-netflix-clone-03-server_transcript.pdf
create-netflix-clone-03-server_transcript.pdfcreate-netflix-clone-03-server_transcript.pdf
create-netflix-clone-03-server_transcript.pdfShaiAlmog1
 
create-netflix-clone-02-server.pdf
create-netflix-clone-02-server.pdfcreate-netflix-clone-02-server.pdf
create-netflix-clone-02-server.pdfShaiAlmog1
 
create-netflix-clone-05-client-model.pdf
create-netflix-clone-05-client-model.pdfcreate-netflix-clone-05-client-model.pdf
create-netflix-clone-05-client-model.pdfShaiAlmog1
 
Creating a Whatsapp Clone - Part II.pdf
Creating a Whatsapp Clone - Part II.pdfCreating a Whatsapp Clone - Part II.pdf
Creating a Whatsapp Clone - Part II.pdfShaiAlmog1
 
Creating a Whatsapp Clone - Part IX - Transcript.pdf
Creating a Whatsapp Clone - Part IX - Transcript.pdfCreating a Whatsapp Clone - Part IX - Transcript.pdf
Creating a Whatsapp Clone - Part IX - Transcript.pdfShaiAlmog1
 
Creating a Whatsapp Clone - Part II - Transcript.pdf
Creating a Whatsapp Clone - Part II - Transcript.pdfCreating a Whatsapp Clone - Part II - Transcript.pdf
Creating a Whatsapp Clone - Part II - Transcript.pdfShaiAlmog1
 
Creating a Whatsapp Clone - Part V - Transcript.pdf
Creating a Whatsapp Clone - Part V - Transcript.pdfCreating a Whatsapp Clone - Part V - Transcript.pdf
Creating a Whatsapp Clone - Part V - Transcript.pdfShaiAlmog1
 
Creating a Whatsapp Clone - Part IV - Transcript.pdf
Creating a Whatsapp Clone - Part IV - Transcript.pdfCreating a Whatsapp Clone - Part IV - Transcript.pdf
Creating a Whatsapp Clone - Part IV - Transcript.pdfShaiAlmog1
 
Creating a Whatsapp Clone - Part IV.pdf
Creating a Whatsapp Clone - Part IV.pdfCreating a Whatsapp Clone - Part IV.pdf
Creating a Whatsapp Clone - Part IV.pdfShaiAlmog1
 
Creating a Whatsapp Clone - Part I - Transcript.pdf
Creating a Whatsapp Clone - Part I - Transcript.pdfCreating a Whatsapp Clone - Part I - Transcript.pdf
Creating a Whatsapp Clone - Part I - Transcript.pdfShaiAlmog1
 

More from ShaiAlmog1 (20)

The Duck Teaches Learn to debug from the masters. Local to production- kill ...
The Duck Teaches  Learn to debug from the masters. Local to production- kill ...The Duck Teaches  Learn to debug from the masters. Local to production- kill ...
The Duck Teaches Learn to debug from the masters. Local to production- kill ...
 
create-netflix-clone-06-client-ui.pdf
create-netflix-clone-06-client-ui.pdfcreate-netflix-clone-06-client-ui.pdf
create-netflix-clone-06-client-ui.pdf
 
create-netflix-clone-01-introduction_transcript.pdf
create-netflix-clone-01-introduction_transcript.pdfcreate-netflix-clone-01-introduction_transcript.pdf
create-netflix-clone-01-introduction_transcript.pdf
 
create-netflix-clone-02-server_transcript.pdf
create-netflix-clone-02-server_transcript.pdfcreate-netflix-clone-02-server_transcript.pdf
create-netflix-clone-02-server_transcript.pdf
 
create-netflix-clone-04-server-continued_transcript.pdf
create-netflix-clone-04-server-continued_transcript.pdfcreate-netflix-clone-04-server-continued_transcript.pdf
create-netflix-clone-04-server-continued_transcript.pdf
 
create-netflix-clone-01-introduction.pdf
create-netflix-clone-01-introduction.pdfcreate-netflix-clone-01-introduction.pdf
create-netflix-clone-01-introduction.pdf
 
create-netflix-clone-06-client-ui_transcript.pdf
create-netflix-clone-06-client-ui_transcript.pdfcreate-netflix-clone-06-client-ui_transcript.pdf
create-netflix-clone-06-client-ui_transcript.pdf
 
create-netflix-clone-03-server.pdf
create-netflix-clone-03-server.pdfcreate-netflix-clone-03-server.pdf
create-netflix-clone-03-server.pdf
 
create-netflix-clone-04-server-continued.pdf
create-netflix-clone-04-server-continued.pdfcreate-netflix-clone-04-server-continued.pdf
create-netflix-clone-04-server-continued.pdf
 
create-netflix-clone-05-client-model_transcript.pdf
create-netflix-clone-05-client-model_transcript.pdfcreate-netflix-clone-05-client-model_transcript.pdf
create-netflix-clone-05-client-model_transcript.pdf
 
create-netflix-clone-03-server_transcript.pdf
create-netflix-clone-03-server_transcript.pdfcreate-netflix-clone-03-server_transcript.pdf
create-netflix-clone-03-server_transcript.pdf
 
create-netflix-clone-02-server.pdf
create-netflix-clone-02-server.pdfcreate-netflix-clone-02-server.pdf
create-netflix-clone-02-server.pdf
 
create-netflix-clone-05-client-model.pdf
create-netflix-clone-05-client-model.pdfcreate-netflix-clone-05-client-model.pdf
create-netflix-clone-05-client-model.pdf
 
Creating a Whatsapp Clone - Part II.pdf
Creating a Whatsapp Clone - Part II.pdfCreating a Whatsapp Clone - Part II.pdf
Creating a Whatsapp Clone - Part II.pdf
 
Creating a Whatsapp Clone - Part IX - Transcript.pdf
Creating a Whatsapp Clone - Part IX - Transcript.pdfCreating a Whatsapp Clone - Part IX - Transcript.pdf
Creating a Whatsapp Clone - Part IX - Transcript.pdf
 
Creating a Whatsapp Clone - Part II - Transcript.pdf
Creating a Whatsapp Clone - Part II - Transcript.pdfCreating a Whatsapp Clone - Part II - Transcript.pdf
Creating a Whatsapp Clone - Part II - Transcript.pdf
 
Creating a Whatsapp Clone - Part V - Transcript.pdf
Creating a Whatsapp Clone - Part V - Transcript.pdfCreating a Whatsapp Clone - Part V - Transcript.pdf
Creating a Whatsapp Clone - Part V - Transcript.pdf
 
Creating a Whatsapp Clone - Part IV - Transcript.pdf
Creating a Whatsapp Clone - Part IV - Transcript.pdfCreating a Whatsapp Clone - Part IV - Transcript.pdf
Creating a Whatsapp Clone - Part IV - Transcript.pdf
 
Creating a Whatsapp Clone - Part IV.pdf
Creating a Whatsapp Clone - Part IV.pdfCreating a Whatsapp Clone - Part IV.pdf
Creating a Whatsapp Clone - Part IV.pdf
 
Creating a Whatsapp Clone - Part I - Transcript.pdf
Creating a Whatsapp Clone - Part I - Transcript.pdfCreating a Whatsapp Clone - Part I - Transcript.pdf
Creating a Whatsapp Clone - Part I - Transcript.pdf
 

Recently uploaded

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 

Recently uploaded (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 

Creating a Facebook Clone - Part XXXVII.pdf

  • 1. Creating a Facebook Clone - Part XXXVII
  • 2. © Codename One 2017 all rights reserved
  • 3. tb.setUIID("Container"); setToolbar(tb); } private void showUserEditForm(User me) { InstantUI iu = new InstantUI(); iu.excludeProperties(me.authtoken, me.avatar, me.cover, me.friendRequests, me.friends, me.peopleYouMayKnow, me.id, me.password, me.birthday); iu.setMultiChoiceLabels(me.gender, "Male", "Female", "Other"); iu.setMultiChoiceValues(me.gender, "Male", "Female", "Other"); Container cnt = iu.createEditUI(me, true); cnt.setUIID("PaddedContainer"); cnt.setScrollableY(true); Form edit = new Form("Edit", new BorderLayout()); edit.add(BorderLayout.CENTER, cnt); edit.getToolbar().setBackCommand("Back", e -> { showBack(); UiBinding.unbind(me); callSerially(() -> ServerAPI.update(me)); }); edit.show(); } } SettingsForm
  • 4. tb.setUIID("Container"); setToolbar(tb); } private void showUserEditForm(User me) { InstantUI iu = new InstantUI(); iu.excludeProperties(me.authtoken, me.avatar, me.cover, me.friendRequests, me.friends, me.peopleYouMayKnow, me.id, me.password, me.birthday); iu.setMultiChoiceLabels(me.gender, "Male", "Female", "Other"); iu.setMultiChoiceValues(me.gender, "Male", "Female", "Other"); Container cnt = iu.createEditUI(me, true); cnt.setUIID("PaddedContainer"); cnt.setScrollableY(true); Form edit = new Form("Edit", new BorderLayout()); edit.add(BorderLayout.CENTER, cnt); edit.getToolbar().setBackCommand("Back", e -> { showBack(); UiBinding.unbind(me); callSerially(() -> ServerAPI.update(me)); }); edit.show(); } } SettingsForm
  • 5. tb.setUIID("Container"); setToolbar(tb); } private void showUserEditForm(User me) { InstantUI iu = new InstantUI(); iu.excludeProperties(me.authtoken, me.avatar, me.cover, me.friendRequests, me.friends, me.peopleYouMayKnow, me.id, me.password, me.birthday); iu.setMultiChoiceLabels(me.gender, "Male", "Female", "Other"); iu.setMultiChoiceValues(me.gender, "Male", "Female", "Other"); Container cnt = iu.createEditUI(me, true); cnt.setUIID("PaddedContainer"); cnt.setScrollableY(true); Form edit = new Form("Edit", new BorderLayout()); edit.add(BorderLayout.CENTER, cnt); edit.getToolbar().setBackCommand("Back", e -> { showBack(); UiBinding.unbind(me); callSerially(() -> ServerAPI.update(me)); }); edit.show(); } } SettingsForm
  • 6. tb.setUIID("Container"); setToolbar(tb); } private void showUserEditForm(User me) { InstantUI iu = new InstantUI(); iu.excludeProperties(me.authtoken, me.avatar, me.cover, me.friendRequests, me.friends, me.peopleYouMayKnow, me.id, me.password, me.birthday); iu.setMultiChoiceLabels(me.gender, "Male", "Female", "Other"); iu.setMultiChoiceValues(me.gender, "Male", "Female", "Other"); Container cnt = iu.createEditUI(me, true); cnt.setUIID("PaddedContainer"); cnt.setScrollableY(true); Form edit = new Form("Edit", new BorderLayout()); edit.add(BorderLayout.CENTER, cnt); edit.getToolbar().setBackCommand("Back", e -> { showBack(); UiBinding.unbind(me); callSerially(() -> ServerAPI.update(me)); }); edit.show(); } } SettingsForm
  • 7. tb.setUIID("Container"); setToolbar(tb); } private void showUserEditForm(User me) { InstantUI iu = new InstantUI(); iu.excludeProperties(me.authtoken, me.avatar, me.cover, me.friendRequests, me.friends, me.peopleYouMayKnow, me.id, me.password, me.birthday); iu.setMultiChoiceLabels(me.gender, "Male", "Female", "Other"); iu.setMultiChoiceValues(me.gender, "Male", "Female", "Other"); Container cnt = iu.createEditUI(me, true); cnt.setUIID("PaddedContainer"); cnt.setScrollableY(true); Form edit = new Form("Edit", new BorderLayout()); edit.add(BorderLayout.CENTER, cnt); edit.getToolbar().setBackCommand("Back", e -> { showBack(); UiBinding.unbind(me); callSerially(() -> ServerAPI.update(me)); }); edit.show(); } } SettingsForm
  • 8. tb.setUIID("Container"); setToolbar(tb); } private void showUserEditForm(User me) { InstantUI iu = new InstantUI(); iu.excludeProperties(me.authtoken, me.avatar, me.cover, me.friendRequests, me.friends, me.peopleYouMayKnow, me.id, me.password, me.birthday); iu.setMultiChoiceLabels(me.gender, "Male", "Female", "Other"); iu.setMultiChoiceValues(me.gender, "Male", "Female", "Other"); Container cnt = iu.createEditUI(me, true); cnt.setUIID("PaddedContainer"); cnt.setScrollableY(true); Form edit = new Form("Edit", new BorderLayout()); edit.add(BorderLayout.CENTER, cnt); edit.getToolbar().setBackCommand("Back", e -> { showBack(); UiBinding.unbind(me); callSerially(() -> ServerAPI.update(me)); }); edit.show(); } } SettingsForm
  • 9. new ListProperty<>("peopleYouMayKnow", User.class); public final Property<String, User> authtoken = new Property<>("authtoken"); public final Property<String, User> password = new Property<>("password"); public final Property<Date, User> birthdayDate = new Property<Date, User>("birthdayDate", Date.class) { @Override public Date get() { if(birthday.get() == null) { return null; } return new Date(birthday.get()); } @Override public User set(Date value) { if(value == null) { return birthday.set(null); } return birthday.set(value.getTime()); } }; User
  • 10. @Override public User set(Date value) { if(value == null) { return birthday.set(null); } return birthday.set(value.getTime()); } }; private final PropertyIndex idx = new PropertyIndex(this, "User", id, firstName, familyName, email, phone, gender, avatar, cover, birthday, birthdayDate, friends, friendRequests, peopleYouMayKnow, authtoken, password); public User() { firstName.setLabel("First Name"); familyName.setLabel("Family Name"); email.setLabel("E-Mail"); phone.setLabel("Phone"); gender.setLabel("Gender"); birthdayDate.setLabel("Birthday"); password.setLabel("Password"); idx.setExcludeFromJSON(birthdayDate, true); User
  • 11. return birthday.set(null); } return birthday.set(value.getTime()); } }; private final PropertyIndex idx = new PropertyIndex(this, "User", id, firstName, familyName, email, phone, gender, avatar, cover, birthday, birthdayDate, friends, friendRequests, peopleYouMayKnow, authtoken, password); public User() { firstName.setLabel("First Name"); familyName.setLabel("Family Name"); email.setLabel("E-Mail"); phone.setLabel("Phone"); gender.setLabel("Gender"); birthdayDate.setLabel("Birthday"); password.setLabel("Password"); idx.setExcludeFromJSON(birthdayDate, true); idx.setExcludeFromMap(birthdayDate, true); } @Override User
  • 12. return birthday.set(null); } return birthday.set(value.getTime()); } }; private final PropertyIndex idx = new PropertyIndex(this, "User", id, firstName, familyName, email, phone, gender, avatar, cover, birthday, birthdayDate, friends, friendRequests, peopleYouMayKnow, authtoken, password); public User() { firstName.setLabel("First Name"); familyName.setLabel("Family Name"); email.setLabel("E-Mail"); phone.setLabel("Phone"); gender.setLabel("Gender"); birthdayDate.setLabel("Birthday"); password.setLabel("Password"); idx.setExcludeFromJSON(birthdayDate, true); idx.setExcludeFromMap(birthdayDate, true); } @Override User
  • 13. } SettingsMargin { padding: 0px; margin: 0px 0px 5mm 0px; } LabelFrame { background-color: white; border: cn1-round-border; padding: 0.5mm; margin: 7mm 0px 0px 0px; } CameraLabel { text-align: center; background: #dddddd; color: black; border: cn1-round-border; font-size: 2mm; padding: 1mm; margin: 0px; } theme.css
  • 14. } SettingsMargin { padding: 0px; margin: 0px 0px 5mm 0px; } LabelFrame { background-color: white; border: cn1-round-border; padding: 0.5mm; margin: 7mm 0px 0px 0px; } CameraLabel { text-align: center; background: #dddddd; color: black; border: cn1-round-border; font-size: 2mm; padding: 1mm; margin: 0px; } theme.css
  • 15. color: black; font-family: "native:MainThin"; font-size: 2.6mm; border: cn1-pill-border; background-color: #dbdbdb; padding: 1mm 3mm 1mm 3mm; margin: 1mm; } SettingsMargin { padding: 0px; margin: 0px 0px 5mm 0px; } LabelFrame { background-color: white; border: cn1-round-border; padding: 0.5mm; margin: 7mm 0px 0px 0px; } CameraLabel { text-align: center; background: #dddddd; theme.css
  • 16. LabelFrame { background-color: white; border: cn1-round-border; padding: 0.5mm; margin: 7mm 0px 0px 0px; } CameraLabel { text-align: center; background: #dddddd; color: black; border: cn1-round-border; font-size: 2mm; padding: 1mm; margin: 0px; } CenterLargeThinLabel { text-align: center; font-size: 4mm; font-family: "native:MainThin"; color: black; padding: 2mm 1mm 2mm 1mm; } theme.css