diff --git a/org.eclipse.titan.designer/src/org/eclipse/titan/designer/AST/TTCN3/types/Class_Type.java b/org.eclipse.titan.designer/src/org/eclipse/titan/designer/AST/TTCN3/types/Class_Type.java
index 20a006cf316028920174b4897c03bbf430da031b..5449f286ced985ca2c5dfeb9062cb0cfe1615315 100755
--- a/org.eclipse.titan.designer/src/org/eclipse/titan/designer/AST/TTCN3/types/Class_Type.java
+++ b/org.eclipse.titan.designer/src/org/eclipse/titan/designer/AST/TTCN3/types/Class_Type.java
@@ -116,6 +116,11 @@ public final class Class_Type extends Type implements ITypeWithComponents {
 		return "class.gif";
 	}
 
+	@Override
+	public String getTypename() {
+		return "class";
+	}
+	
 	@Override
 	public Identifier getComponentIdentifierByName(Identifier identifier) {
 		// TODO Auto-generated method stub
@@ -136,11 +141,6 @@ public final class Class_Type extends Type implements ITypeWithComponents {
 		return true;
 	}
 
-	@Override
-	public String getTypename() {
-		// TODO Auto-generated method stub
-		return null;
-	}
 
 	@Override
 	public boolean generatesOwnClass(JavaGenData aData, StringBuilder source) {
diff --git a/org.eclipse.titan.designer/src/org/eclipse/titan/designer/editors/Stylers.java b/org.eclipse.titan.designer/src/org/eclipse/titan/designer/editors/Stylers.java
index 2a36633ff67dea468e54c2a66367bd71b4c14354..d64102c8174bead78da9da37bbcb5e9c3bb88ea5 100755
--- a/org.eclipse.titan.designer/src/org/eclipse/titan/designer/editors/Stylers.java
+++ b/org.eclipse.titan.designer/src/org/eclipse/titan/designer/editors/Stylers.java
@@ -27,6 +27,10 @@ import org.eclipse.swt.widgets.Display;
 public class Stylers {
 	private Stylers() { }
 	
+	public static final Color PublicColor = new Color(Display.getCurrent(), 59, 179, 0);
+	public static final Color ProtectedColor = new Color(Display.getCurrent(), 255, 140, 25);
+	public static final Color PrivateColor = new Color(Display.getCurrent(), 227,38,54);
+	
 	public static class BlueBoldStyler extends Styler {
 		@Override
 		public void applyStyles(TextStyle textStyle) {
@@ -48,4 +52,26 @@ public class Stylers {
 			textStyle.font = f;
 		}
 	}
+	
+	public static class ColoredStyler extends Styler {
+		private final Color color;
+		private int style;
+		
+		public ColoredStyler(Color color) {
+			this.color = color;
+		}
+		
+		public void setStyle(int style) {
+			this.style = style;
+		}
+		
+		@Override
+		public void applyStyles(TextStyle textStyle) {
+			textStyle.foreground = color;
+			FontData fontData = JFaceResources.getDefaultFont().getFontData()[0];
+			fontData.setStyle(style);
+			Font f = new Font(Display.getDefault(), fontData);
+			textStyle.font = f;
+		}
+	}
 }
diff --git a/org.eclipse.titan.designer/src/org/eclipse/titan/designer/editors/ttcn3editor/ContentAssistProcessor.java b/org.eclipse.titan.designer/src/org/eclipse/titan/designer/editors/ttcn3editor/ContentAssistProcessor.java
index af0cfdfaa5932c90793ce47ae6ad658f499c2bb8..11850ec0c767a34bdef0d61f51924b771086ecdd 100644
--- a/org.eclipse.titan.designer/src/org/eclipse/titan/designer/editors/ttcn3editor/ContentAssistProcessor.java
+++ b/org.eclipse.titan.designer/src/org/eclipse/titan/designer/editors/ttcn3editor/ContentAssistProcessor.java
@@ -23,6 +23,9 @@ import org.eclipse.jface.text.contentassist.IContextInformationValidator;
 import org.eclipse.jface.text.templates.Template;
 import org.eclipse.jface.text.templates.TemplateContextType;
 import org.eclipse.jface.viewers.StyledString;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.widgets.Display;
 import org.eclipse.titan.designer.Activator;
 import org.eclipse.titan.designer.AST.Assignment;
 import org.eclipse.titan.designer.AST.IType;
@@ -39,11 +42,14 @@ import org.eclipse.titan.designer.AST.TTCN3.definitions.Timer;
 import org.eclipse.titan.designer.AST.TTCN3.statements.StatementBlock;
 import org.eclipse.titan.designer.AST.TTCN3.types.Class_Type;
 import org.eclipse.titan.designer.AST.TTCN3.types.Component_Type;
+import org.eclipse.titan.designer.AST.TTCN3.types.Function_Type;
 import org.eclipse.titan.designer.AST.TTCN3.types.PortTypeBody;
 import org.eclipse.titan.designer.consoles.TITANDebugConsole;
 import org.eclipse.titan.designer.editors.ProposalCollector;
 import org.eclipse.titan.designer.editors.StyledCompletionProposal;
+import org.eclipse.titan.designer.editors.Stylers;
 import org.eclipse.titan.designer.graphics.ImageCache;
+import org.eclipse.titan.designer.parsers.CompilationTimeStamp;
 import org.eclipse.titan.designer.parsers.GlobalParser;
 import org.eclipse.titan.designer.parsers.ProjectSourceParser;
 import org.eclipse.titan.designer.preferences.PreferenceConstantValues;
@@ -129,32 +135,41 @@ public final class ContentAssistProcessor implements IContentAssistProcessor {
 		if (classRef != null && scope != null) {
 			classRef.setMyScope(scope);
 			classRef.detectModid();
-			//Scope fscope = scope.getAssignmentsScope();			
-			Assignment assignment = scope.getAssBySRef(tempModule.getLastCompilationTimeStamp(), classRef);
+			final CompilationTimeStamp timestamp = tempModule.getLastCompilationTimeStamp();
+			Assignment assignment = scope.getAssBySRef(timestamp, classRef);
 			if (assignment instanceof Def_Var) {
-				IType type = assignment.getType(tempModule.getLastCompilationTimeStamp());
+				IType type = assignment.getType(timestamp);
 				if (type != null ) {
-					IType refd = type.getTypeRefdLast(tempModule.getLastCompilationTimeStamp());
+					IType refd = type.getTypeRefdLast(timestamp);
 					if (refd instanceof Class_Type) {
 						Class_Type ct = (Class_Type)refd;
 						for (Map.Entry<String, Definition> entry : ct.getClassBody().getDefinitionMap().entrySet()) {
 							final Definition d = entry.getValue();
 							final String memberName = d.getIdentifier().getDisplayName();
+							if (d instanceof Def_Function) {
+								memberName.concat("()");
+							}
+							final IType memberType = d.getType(timestamp);
+							final String memberTypeName = memberType != null ? memberType.getTypename() : "";
 							String visibility;
+							Stylers.ColoredStyler styler = null;
 							switch (d.getVisibilityModifier()) {
 							case Private:
+								styler = new Stylers.ColoredStyler(Stylers.PrivateColor);
 								visibility = "private";
 								break;
 							case Public:
 								visibility = "public";
+								styler = new Stylers.ColoredStyler(Stylers.PublicColor);
 								break;
 							default:
 								visibility = "protected";
+								styler = new Stylers.ColoredStyler(Stylers.ProtectedColor);
 							}
-							//final String propText = memberName + " (" + visibility + ")";
+							final String context = "<i>" + visibility + "</i> <b>" + memberTypeName + "</b> " + memberName ;
 							StyledCompletionProposal scp = new StyledCompletionProposal(memberName, offset, 0, memberName.length(),
-									ImageCache.getImage(d.getOutlineIcon()), memberName, null, null);
-							scp.append(" (" + visibility + ")", StyledString.QUALIFIER_STYLER);
+									ImageCache.getImage(d.getOutlineIcon()), memberName, null, context);
+							scp.append(" \u25fc", styler);
 							propCollector.addProposal(scp);
 						}
 						propCollector.sortAll();