Skip to content

Commit

Permalink
* fixed some naming issues, * added a custom view template
Browse files Browse the repository at this point in the history
  • Loading branch information
xl-ben-ridder committed Dec 20, 2011
1 parent 780e727 commit 362ec50
Show file tree
Hide file tree
Showing 3 changed files with 76 additions and 13 deletions.
16 changes: 11 additions & 5 deletions android-generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
LAYOUT_CLASS_NAME = "<LAYOUT_CLASS_NAME>"
TYPE = "<TYPE>"
PACKAGE_DETAIL = "PACKAGE_DETAIL"
OBJECT = "OBJECT"

template_dir = r"./templates"
values = {
Expand All @@ -14,6 +15,7 @@
LAYOUT_CLASS_NAME : "test_activity",
TYPE : "test",
PACKAGE_DETAIL : "",
OBJECT : "",
}

template_list = []
Expand All @@ -38,10 +40,10 @@ def parse_string(line):
def get_class_name():
class_name = values[CLASS_NAME]
name_substrings = get_camel_case_substrings(class_name)
if (name_substrings[-1] == values[PACKAGE_DETAIL]):
if (name_substrings[-1] == values[OBJECT]):
return class_name
else:
name_substrings[-1] = values[PACKAGE_DETAIL]
name_substrings[-1] = values[OBJECT]
string = ""
for t in name_substrings:
tl = list(t)
Expand All @@ -63,7 +65,7 @@ def copy_java_file(in_file_path, out_file_path, package_name):
if (not os.path.exists(new_out_path)):
os.makedirs(new_out_path)

new_out_path += get_new_file_name(split_out_path[-1], package_name)
new_out_path += get_new_file_name(split_out_path[-1], values[OBJECT])
out_file_path = new_out_path
values[PACKAGE_DETAIL] = package_name
try:
Expand All @@ -80,11 +82,12 @@ def copy_java_file(in_file_path, out_file_path, package_name):
print "Something went wrong... ", sys.exc_info()[1]

def get_new_file_name(in_file_name, package_name):
in_file_name = in_file_name.replace(".java","")
name_substrings = get_camel_case_substrings(in_file_name)
if (name_substrings[-1] == package_name):
return in_file_name
else:
name_substrings[-1] = package_name
name_substrings.insert(len(name_substrings), package_name)
string = ""
for t in name_substrings:
tl = list(t)
Expand Down Expand Up @@ -180,7 +183,9 @@ def infer_layout_name():
class_name = values[CLASS_NAME]
name_substrings = get_camel_case_substrings(class_name)
layout_name = ""
for i in range(0, len(name_substrings) - 1):
length = len(name_substrings) - 1 if name_substrings[-1].lower() == values[OBJECT] else len(name_substrings)
print length
for i in range(0, length):
if (i == 0):
layout_name = name_substrings[i].lower()
else:
Expand Down Expand Up @@ -210,6 +215,7 @@ def generate_files():
update_manifest()
elif (item["type"] == "java"):
out = r"./" + item["out"] + values[PACKAGE].replace(".", "/") + "/" + values[CLASS_NAME] + "." + item["type"]
values[OBJECT] = item["object"]
copy_java_file(r"./templates/"+item["in"], out, item["package"])
elif (item["object"] == "layout"):
if (values.get(LAYOUT_CLASS_NAME) != None):
Expand Down
25 changes: 17 additions & 8 deletions template.list
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"activity" : [
{
"object" : "class",
"object" : "activity",
"in" : "src/Activity.java",
"out" : "src/",
"type" : "java",
Expand All @@ -21,16 +21,16 @@
],


"listactivity" : [
"listactivity" : [
{
"object" : "class",
"object" : "activity",
"in" : "src/ListActivity.java",
"out" : "src/",
"type" : "java",
"package" : "activities"
},
{
"object" : "class",
"object" : "adapter",
"in" : "src/BaseAdapter.java",
"out" : "src/",
"type" : "java",
Expand All @@ -47,11 +47,11 @@
"object" : "manifest",
"type" : "activity"
}
],
],

"fragment" : [
"fragment" : [
{
"object" : "class",
"object" : "fragment",
"in" : "src/Fragment.java",
"out" : "src/",
"type" : "java",
Expand All @@ -64,6 +64,15 @@
"default" : "list_activity_default",
"type" : "xml"
}
]
],
"view" : [
{
"object" : "view",
"in" : "src/View.java",
"out" : "src/",
"type" : "java",
"package" : "views"
}
]
}

48 changes: 48 additions & 0 deletions templates/src/View.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package <PACKAGE>;

import android.content.Context;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.view.View;

public class <CLASS_NAME> extends View {

public <CLASS_NAME>(Context context) {
super(context);
}

public <CLASS_NAME>(Context context, AttributeSet attrs) {
super(context, attrs);
}

public <CLASS_NAME>(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}

@Override
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
super.onLayout(changed, left, top, right, bottom);
}

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}

@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
}

@Override
protected void onFinishInflate() {
super.onFinishInflate();
}

@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
}

}

0 comments on commit 362ec50

Please sign in to comment.