本文整理汇总了C++中MX_BIN函数的典型用法代码示例。如果您正苦于以下问题:C++ MX_BIN函数的具体用法?C++ MX_BIN怎么用?C++ MX_BIN使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了MX_BIN函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: mex_queue_button_init
static void
mex_queue_button_init (MexQueueButton *self)
{
ClutterActor *temp_text;
self->priv = QUEUE_BUTTON_PRIVATE (self);
self->priv->inner_box = mx_box_layout_new ();
self->priv->icon = mx_icon_new ();
self->priv->label = mx_label_new_with_text ("Unknown queue state");
self->priv->spinner = mx_spinner_new ();
self->priv->queue_model = mex_queue_model_dup_singleton ();
g_signal_connect (self->priv->spinner,
"looped",
(GCallback)_spinner_looped_cb,
self);
clutter_container_add (CLUTTER_CONTAINER (self->priv->inner_box),
self->priv->label,
self->priv->icon,
self->priv->spinner,
NULL);
clutter_container_child_set (CLUTTER_CONTAINER (self->priv->inner_box),
self->priv->label,
"expand", TRUE,
"y-align", MX_ALIGN_MIDDLE,
"y-fill", FALSE,
NULL);
clutter_container_child_set (CLUTTER_CONTAINER (self->priv->inner_box),
self->priv->icon,
"y-align", MX_ALIGN_MIDDLE,
"y-fill", FALSE,
"x-align", MX_ALIGN_END,
NULL);
clutter_container_child_set (CLUTTER_CONTAINER (self->priv->inner_box),
self->priv->spinner,
"y-align", MX_ALIGN_MIDDLE,
"y-fill", FALSE,
"x-align", MX_ALIGN_END,
NULL);
clutter_actor_hide (self->priv->spinner);
mx_bin_set_child (MX_BIN (self), self->priv->inner_box);
mx_bin_set_fill (MX_BIN (self), TRUE, FALSE);
temp_text = mx_label_get_clutter_text (MX_LABEL (self->priv->label));
clutter_text_set_ellipsize (CLUTTER_TEXT (temp_text), PANGO_ELLIPSIZE_NONE);
g_signal_connect (self,
"notify::toggled",
(GCallback)_queue_button_notify_toggled_cb,
self);
mx_button_set_is_toggle (MX_BUTTON (self), TRUE);
}
开发者ID:jpwhiting,项目名称:media-explorer,代码行数:60,代码来源:mex-queue-button.c
示例2: mx_bin_remove
static void
mx_bin_remove (ClutterContainer *container,
ClutterActor *actor)
{
MxBinPrivate *priv = MX_BIN (container)->priv;
if (priv->child == actor)
mx_bin_set_child (MX_BIN (container), NULL);
}
开发者ID:GunioRobot,项目名称:mx,代码行数:9,代码来源:mx-bin.c
示例3: mex_telepathy_channel_create_busy_box
static void
mex_telepathy_channel_create_busy_box (MexTelepathyChannel *self)
{
MexTelepathyChannelPrivate *priv = MEX_TELEPATHY_CHANNEL (self)->priv;
ClutterActor *calling_padding;
ClutterActor *calling_box;
ClutterActor *spinner;
ClutterActor *stack;
priv->busy_label = mx_label_new();
mx_label_set_y_align (MX_LABEL (priv->busy_label), MX_ALIGN_MIDDLE);
mx_label_set_x_align (MX_LABEL (priv->busy_label), MX_ALIGN_MIDDLE);
spinner = mx_spinner_new ();
calling_box = mx_box_layout_new ();
mx_box_layout_add_actor_with_properties (MX_BOX_LAYOUT (calling_box),
priv->busy_label,
0,
"expand",
TRUE,
"x-align",
MX_ALIGN_START,
"x-fill",
TRUE,
NULL);
mx_box_layout_add_actor_with_properties (MX_BOX_LAYOUT (calling_box),
spinner,
1,
"expand",
TRUE,
"x-align",
MX_ALIGN_END,
"x-fill",
FALSE,
NULL);
priv->busy_box = mx_frame_new ();
clutter_actor_set_width (CLUTTER_ACTOR (priv->busy_box), 475);
mx_stylable_set_style_class (MX_STYLABLE (priv->busy_box),
"CallingFrameBorder");
calling_padding = mx_frame_new ();
mx_stylable_set_style_class (MX_STYLABLE (calling_padding),
"CallingFrame");
mx_bin_set_child (MX_BIN (priv->busy_box), calling_padding);
mx_bin_set_fill (MX_BIN (priv->busy_box), TRUE, TRUE);
mx_bin_set_child (MX_BIN (calling_padding), calling_box);
mx_bin_set_fill (MX_BIN (calling_padding), TRUE, TRUE);
stack = mx_window_get_child (mex_get_main_window ());
clutter_container_add (CLUTTER_CONTAINER (stack), priv->busy_box, NULL);
mx_stack_child_set_x_fill (MX_STACK (stack), priv->busy_box, FALSE);
mx_stack_child_set_y_fill (MX_STACK (stack), priv->busy_box, FALSE);
}
开发者ID:Cyrene,项目名称:media-explorer,代码行数:57,代码来源:mex-telepathy-channel.c
示例4: mpl_application_view_init
static void
mpl_application_view_init (MplApplicationView *self)
{
MplApplicationViewPrivate *priv;
ClutterActor *actor = CLUTTER_ACTOR (self);
priv = self->priv = APPLICATION_VIEW_PRIVATE (self);
/* tile */
clutter_actor_set_reactive (actor, TRUE);
mx_stylable_set_style_class (MX_STYLABLE (actor), "switcherTile");
clutter_actor_set_size (actor, TILE_WIDTH, TILE_HEIGHT);
g_signal_connect (self, "button-release-event",
G_CALLBACK (activate_clicked), NULL);
priv->title_box = mx_box_layout_new_with_orientation (MX_ORIENTATION_VERTICAL);
clutter_actor_set_parent (priv->title_box, actor);
/* title */
priv->title = mx_label_new ();
mx_label_set_y_align (MX_LABEL (priv->title), MX_ALIGN_MIDDLE);
mx_stylable_set_style_class (MX_STYLABLE (priv->title), "appTitle");
mx_box_layout_add_actor (MX_BOX_LAYOUT (priv->title_box), priv->title, 0);
mx_box_layout_child_set_expand (MX_BOX_LAYOUT (priv->title_box),
priv->title, TRUE);
/* subtitle */
priv->subtitle = mx_label_new ();
mx_label_set_y_align (MX_LABEL (priv->subtitle), MX_ALIGN_MIDDLE);
mx_stylable_set_style_class (MX_STYLABLE (priv->subtitle), "appSubTitle");
mx_box_layout_add_actor (MX_BOX_LAYOUT (priv->title_box), priv->subtitle, 1);
mx_box_layout_child_set_expand (MX_BOX_LAYOUT (priv->title_box),
priv->subtitle, FALSE);
/* close button */
priv->close_button = mx_button_new ();
mx_stylable_set_style_class (MX_STYLABLE (priv->close_button), "appCloseButton");
clutter_actor_set_parent (priv->close_button, actor);
g_signal_connect (priv->close_button, "clicked",
G_CALLBACK (close_btn_clicked), self);
/* frame */
priv->app_frame = mx_frame_new ();
clutter_actor_set_size (priv->app_frame, 250, 100);
mx_stylable_set_style_class (MX_STYLABLE (priv->app_frame), "appBackground");
clutter_actor_set_parent (priv->app_frame, actor);
/* shadow */
priv->shadow = mx_frame_new ();
mx_stylable_set_style_class (MX_STYLABLE (priv->shadow), "appShadow");
mx_bin_set_child (MX_BIN (priv->app_frame), priv->shadow);
mx_bin_set_fill (MX_BIN (priv->app_frame), FALSE, FALSE);
clutter_actor_show_all (actor);
}
开发者ID:phmccarty,项目名称:dawati-shell,代码行数:55,代码来源:mpl-application-view.c
示例5: create_header
static void
create_header (MexEpgGrid *grid)
{
MexEpgGridPrivate *priv = grid->priv;
GTimeSpan diff;
GDateTime *time_, *old_time;
gint n_headers, i;
gchar *time_str;
diff = g_date_time_difference (priv->last_date, priv->first_date);
n_headers = (diff * 1e-6 / 60. / 30) + 1; /* number of 30mins slices */
if (MEX_DEBUG_ENABLED (EPG))
{
gchar *first_str, *last_str;
first_str = mex_date_to_string (priv->first_date);
last_str = mex_date_to_string (priv->last_date);
MEX_NOTE (EPG, "Creating header between %s and %s (%d columns)",
first_str, last_str, n_headers);
g_free (first_str);
g_free (last_str);
}
g_ptr_array_set_size (priv->header, n_headers);
time_ = g_date_time_ref (priv->first_date);
for (i = 0; i < n_headers; i++)
{
ClutterActor *frame, *label;
/* a Frame for 30 mins, each frame has a label in it */
frame = mx_frame_new ();
clutter_actor_set_parent (frame, CLUTTER_ACTOR (grid));
mx_stylable_set_style_class (MX_STYLABLE (frame), "EpgHeader");
clutter_actor_set_size (frame,
6 * priv->pixels_for_5_mins,
HEADER_HEIGHT);
time_str = g_date_time_format (time_, "%H:%M");
label = mx_label_new_with_text (time_str);
mx_bin_set_child (MX_BIN (frame), label);
mx_bin_set_alignment (MX_BIN (frame), MX_ALIGN_START, MX_ALIGN_MIDDLE);
g_ptr_array_index (priv->header, i) = frame;
g_free (time_str);
old_time = time_;
time_ = g_date_time_add_minutes (time_, 30);
g_date_time_unref (old_time);
}
g_date_time_unref (time_);
}
开发者ID:dudochkin-victor,项目名称:mex,代码行数:53,代码来源:mex-epg-grid.c
示例6: tile_created_cb
static void
tile_created_cb (MexProxy *proxy,
GObject *content,
GObject *object,
gpointer controls)
{
const gchar *mime_type;
ClutterEffect *effect;
ClutterColor color = { 0, 0, 0, 60 };
/* filter out folders */
mime_type = mex_content_get_metadata (MEX_CONTENT (content),
MEX_CONTENT_METADATA_MIMETYPE);
if (g_strcmp0 (mime_type, "x-grl/box") == 0)
{
g_signal_stop_emission_by_name (proxy, "object-created");
return;
}
mex_tile_set_important (MEX_TILE (object), TRUE);
clutter_actor_set_reactive (CLUTTER_ACTOR (object), TRUE);
g_object_set (object, "thumb-height", 140, "thumb-width", 250, NULL);
g_signal_connect (object, "key-press-event", G_CALLBACK (key_press_event_cb),
controls);
g_signal_connect (object, "button-release-event",
G_CALLBACK (button_release_event_cb), controls);
effect = g_object_new (MEX_TYPE_SHADOW,
"radius-x", 15,
"radius-y", 15,
"color", &color,
"enabled", FALSE,
NULL);
clutter_actor_add_effect_with_name (CLUTTER_ACTOR (object), "shadow", effect);
effect = g_object_new (MEX_TYPE_SHADOW,
"radius-x", 15,
"radius-y", 15,
"color", &color,
NULL);
clutter_actor_add_effect_with_name (mx_bin_get_child (MX_BIN (object)),
"shadow", effect);
g_signal_connect (object, "focus-in", G_CALLBACK (tile_focus_in_cb), NULL);
g_signal_connect (object, "focus-out", G_CALLBACK (tile_focus_out_cb), NULL);
tile_focus_out_cb (MX_BIN (object));
}
开发者ID:Cyrene,项目名称:media-explorer,代码行数:50,代码来源:mex-media-controls.c
示例7: dawati_bt_device_init
static void
dawati_bt_device_init (DawatiBtDevice *device)
{
ClutterActor *button;
DawatiBtDevicePrivate *priv = GET_PRIVATE (device);
mx_stylable_set_style_class (MX_STYLABLE (device), "BtDevice");
priv->label = mx_label_new ();
mx_stylable_set_style_class (MX_STYLABLE (priv->label), "BtTitle");
mx_box_layout_insert_actor_with_properties (MX_BOX_LAYOUT (device), priv->label, -1,
"expand", TRUE,
"x-fill", FALSE,
"y-fill", FALSE,
"x-align", MX_ALIGN_START,
"y-align", MX_ALIGN_MIDDLE,
NULL);
button = mx_button_new ();
mx_stylable_set_style_class (MX_STYLABLE (button), "BtCloseButton");
mx_bin_set_child (MX_BIN (button), mx_icon_new ());
g_signal_connect (button, "clicked",
G_CALLBACK (_disconnect_clicked_cb), device);
mx_box_layout_insert_actor (MX_BOX_LAYOUT (device), button, -1);
}
开发者ID:Cordia,项目名称:dawati-shell,代码行数:25,代码来源:dawati-bt-device.c
示例8: _create_power_dialog
static gboolean
_create_power_dialog (MexInfoBar *self)
{
MexInfoBarPrivate *priv = self->priv;
ClutterActor *dialog, *dialog_label;
MxAction *cancel_action, *shutdown_action;
dialog = mx_dialog_new ();
mx_stylable_set_style_class (MX_STYLABLE (dialog), "MexInfoBarDialog");
dialog_label = mx_label_new_with_text (_("Close Media Explorer?"));
mx_stylable_set_style_class (MX_STYLABLE (dialog_label), "DialogHeader");
mx_bin_set_child (MX_BIN (dialog), dialog_label);
shutdown_action = mx_action_new_full ("yes", _("Yes"),
G_CALLBACK (_close_request_cb), self);
cancel_action = mx_action_new_full ("no", _("No"),
G_CALLBACK (_close_dialog_cb), self);
mx_dialog_add_action (MX_DIALOG (dialog), shutdown_action);
mx_dialog_add_action (MX_DIALOG (dialog), cancel_action);
priv->power_dialog = g_object_ref (dialog);
clutter_actor_show (dialog);
return TRUE;
}
开发者ID:ocrete,项目名称:media-explorer,代码行数:30,代码来源:mex-info-bar.c
示例9: mex_telepathy_channel_create_incoming_video
static void
mex_telepathy_channel_create_incoming_video (MexTelepathyChannel *self)
{
MexTelepathyChannelPrivate *priv = MEX_TELEPATHY_CHANNEL (self)->priv;
ClutterActor *video_incoming_area;
/* Setup the incoming surface to draw to */
priv->incoming_texture = clutter_texture_new ();
clutter_texture_set_keep_aspect_ratio (CLUTTER_TEXTURE (priv->incoming_texture),
TRUE);
video_incoming_area = mx_stack_new ();
clutter_container_add (CLUTTER_CONTAINER (video_incoming_area),
mex_telepathy_channel_create_static_image(),
priv->incoming_texture,
NULL);
/* Create a frame for it with a styled border */
priv->full_frame = mx_frame_new();
clutter_actor_set_name (priv->full_frame, "Incoming Frame");
mx_bin_set_fill (MX_BIN (priv->full_frame), TRUE, TRUE);
mx_stylable_set_style_class (MX_STYLABLE (priv->full_frame),
"CallWindow");
clutter_actor_add_effect (priv->full_frame,
CLUTTER_EFFECT (
mex_telepathy_channel_create_shadow ()));
clutter_container_add_actor (CLUTTER_CONTAINER (priv->full_frame),
video_incoming_area);
priv->incoming_sink =
clutter_gst_video_sink_new (CLUTTER_TEXTURE (priv->incoming_texture));
}
开发者ID:Cyrene,项目名称:media-explorer,代码行数:34,代码来源:mex-telepathy-channel.c
示例10: art_cb
static void
art_cb (RBExtDBKey *key, const char *filename, GValue *data, MxFrame *frame)
{
ClutterActor *image;
GdkPixbuf *pixbuf;
if (data == NULL || G_VALUE_HOLDS (data, GDK_TYPE_PIXBUF) == FALSE) {
return;
}
clutter_threads_enter ();
image = gtk_clutter_texture_new ();
pixbuf = GDK_PIXBUF (g_value_get_object (data));
gtk_clutter_texture_set_from_pixbuf (GTK_CLUTTER_TEXTURE (image), pixbuf, NULL);
if (clutter_actor_get_height (image) > MAX_IMAGE_HEIGHT) {
clutter_actor_set_height (image, MAX_IMAGE_HEIGHT);
clutter_texture_set_keep_aspect_ratio (CLUTTER_TEXTURE (image), TRUE);
}
if (clutter_actor_get_width (image) > MAX_IMAGE_HEIGHT) {
clutter_actor_set_width (image, MAX_IMAGE_HEIGHT);
}
mx_bin_set_child (MX_BIN (frame), image);
clutter_actor_show_all (CLUTTER_ACTOR (frame));
clutter_threads_leave ();
}
开发者ID:hfiguiere,项目名称:rhythmbox,代码行数:27,代码来源:rb-visualizer-fullscreen.c
示例11: mx_bin_get_property
static void
mx_bin_get_property (GObject *gobject,
guint prop_id,
GValue *value,
GParamSpec *pspec)
{
MxBinPrivate *priv = MX_BIN (gobject)->priv;
switch (prop_id)
{
case PROP_CHILD:
g_value_set_object (value, priv->child);
break;
case PROP_X_FILL:
g_value_set_boolean (value, priv->x_fill);
break;
case PROP_Y_FILL:
g_value_set_boolean (value, priv->y_fill);
break;
case PROP_X_ALIGN:
g_value_set_enum (value, priv->x_align);
break;
case PROP_Y_ALIGN:
g_value_set_enum (value, priv->y_align);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
}
}
开发者ID:GunioRobot,项目名称:mx,代码行数:34,代码来源:mx-bin.c
示例12: mex_telepathy_channel_create_preview
static void
mex_telepathy_channel_create_preview (MexTelepathyChannel *self)
{
MexTelepathyChannelPrivate *priv = MEX_TELEPATHY_CHANNEL (self)->priv;
ClutterActor *video_preview_area;
priv->video_outgoing = clutter_texture_new ();
clutter_texture_set_keep_aspect_ratio (CLUTTER_TEXTURE (priv->video_outgoing),
TRUE);
priv->outgoing_sink =
clutter_gst_video_sink_new (CLUTTER_TEXTURE (priv->video_outgoing));
video_preview_area = mx_stack_new ();
clutter_container_add (CLUTTER_CONTAINER (video_preview_area),
mex_telepathy_channel_create_static_image(),
priv->video_outgoing,
NULL);
mx_stylable_set_style_class (MX_STYLABLE (video_preview_area),
"PreviewStack");
clutter_actor_set_height (video_preview_area, 150.0);
clutter_actor_add_effect (video_preview_area,
CLUTTER_EFFECT (
mex_telepathy_channel_create_shadow ()));
priv->preview_area = mx_frame_new ();
mx_stylable_set_style_class (MX_STYLABLE (priv->preview_area),
"PreviewPadding");
mx_bin_set_child (MX_BIN (priv->preview_area), video_preview_area);
}
开发者ID:Cyrene,项目名称:media-explorer,代码行数:34,代码来源:mex-telepathy-channel.c
示例13: mex_volume_control_init
static void
mex_volume_control_init (MexVolumeControl *self)
{
MexVolumeControlPrivate *priv = self->priv = VOLUME_CONTROL_PRIVATE (self);
gchar *new_style_class;
MexPlayer *player;
MexMusicPlayer *music;
player = mex_player_get_default ();
priv->media = mex_player_get_clutter_media (player);
music = mex_music_player_get_default ();
priv->music = mex_music_player_get_clutter_media (music);
priv->volume = mx_button_new ();
mx_widget_set_disabled (MX_WIDGET (priv->volume), TRUE);
priv->vol_value = clutter_media_get_audio_volume (priv->media);
/* The media sound can also be changed from another process changint the
* stream audio with pulse audio, adjust the volume on those changes */
g_signal_connect (priv->media, "notify::audio-volume",
G_CALLBACK (on_audio_volume_changed), self);
g_signal_connect (priv->music, "notify::audio-volume",
G_CALLBACK (on_audio_volume_changed), self);
new_style_class = g_strdup_printf ("volume-%.0f", priv->vol_value * 10);
mx_stylable_set_style_class (MX_STYLABLE (priv->volume), new_style_class);
g_free (new_style_class);
mx_bin_set_child (MX_BIN (self), priv->volume);
}
开发者ID:Guacamayo,项目名称:media-explorer,代码行数:33,代码来源:mex-volume-control.c
示例14: main
int
main (int argc, char **argv)
{
const ClutterColor grey = { 0x40, 0x40, 0x40, 0xff };
ClutterActor *stage, *info_panel, *align;
MxApplication *app;
MxWindow *window;
MexFeed *feed;
MexProgram *program;
mex_init (&argc, &argv);
app = mx_application_new (&argc, &argv, "mex-info-panel-test", 0);
mex_style_load_default ();
window = mx_application_create_window (app);
stage = (ClutterActor *) mx_window_get_clutter_stage (window);
clutter_stage_set_color ((ClutterStage *) stage, &grey);
align = g_object_new (MX_TYPE_FRAME, "x-align", MX_ALIGN_MIDDLE,
"y-align", MX_ALIGN_END, NULL);
mx_window_set_child (window, align);
info_panel = mex_info_panel_new (MEX_INFO_PANEL_MODE_FULL);
mx_bin_set_child (MX_BIN (align), info_panel);
mx_window_set_has_toolbar (window, FALSE);
clutter_actor_set_size (stage, 1024, 768);
feed = mex_feed_new ("source", "title");
program = mex_program_new (feed);
mex_content_set_metadata (MEX_CONTENT (program),
MEX_CONTENT_METADATA_MIMETYPE,
"video/mp4");
mex_content_set_metadata (MEX_CONTENT (program),
MEX_CONTENT_METADATA_TITLE,
"The cats on the moon");
mex_content_set_metadata (MEX_CONTENT (program),
MEX_CONTENT_METADATA_SYNOPSIS,
"An original title where cats are sent to the moon to catch all the mice which are naturally attracted there due to the large consistency of cheese, this results in a space race between NASA and CATSA, leading to war on the moon over territory claimed by cats");
mex_content_set_metadata (MEX_CONTENT (program),
MEX_CONTENT_METADATA_STILL,
"http://farm5.static.flickr.com/4013/4305303148_5cbc986a44_m.jpg");
mex_content_view_set_content (MEX_CONTENT_VIEW (info_panel),
MEX_CONTENT (program));
clutter_actor_show (stage);
clutter_main ();
return 0;
}
开发者ID:Cyrene,项目名称:media-explorer,代码行数:58,代码来源:mex-info-panel-test.c
示例15: mx_expander_get_preferred_height
static void
mx_expander_get_preferred_height (ClutterActor *actor,
gfloat for_width,
gfloat *min_height,
gfloat *pref_height)
{
MxExpanderPrivate *priv = MX_EXPANDER (actor)->priv;
ClutterActor *child;
MxPadding padding;
gfloat min_child_h, pref_child_h, min_label_h, pref_label_h, arrow_h;
gfloat available_w;
child = mx_bin_get_child (MX_BIN (actor));
mx_widget_get_padding (MX_WIDGET (actor), &padding);
available_w = for_width - padding.left - padding.right;
if (child)
{
clutter_actor_get_preferred_height (child,
available_w,
&min_child_h,
&pref_child_h);
min_child_h += priv->spacing;
pref_child_h += priv->spacing;
/* allocate the space multiplied by the progress of the "expansion"
* animation */
min_child_h *= priv->progress;
pref_child_h *= priv->progress;
}
else
{
min_child_h = 0;
pref_child_h = 0;
}
clutter_actor_get_preferred_height (priv->label,
available_w,
&min_label_h,
&pref_label_h);
clutter_actor_get_preferred_height (priv->arrow, -1, NULL, &arrow_h);
min_label_h = MAX (min_label_h, arrow_h);
pref_label_h = MAX (pref_label_h, arrow_h);
if (min_height)
*min_height = padding.top
+ min_child_h + min_label_h
+ padding.bottom;
if (pref_height)
*pref_height = padding.top
+ pref_child_h + pref_label_h
+ padding.bottom;
}
开发者ID:GunioRobot,项目名称:mx,代码行数:58,代码来源:mx-expander.c
示例16: mex_content_box_init
static void
mex_content_box_init (MexContentBox *self)
{
MexContentBoxPrivate *priv = self->priv = CONTENT_BOX_PRIVATE (self);
ClutterActor *hline, *box;
priv->thumb_width = 426;
priv->thumb_height = 240;
/* Create description panel */
box = mx_box_layout_new ();
mx_box_layout_set_orientation (MX_BOX_LAYOUT (box), MX_ORIENTATION_VERTICAL);
hline = clutter_rectangle_new_with_color (&hline_color);
clutter_actor_set_height (hline, 1);
priv->panel = mex_info_panel_new (MEX_INFO_PANEL_MODE_SIMPLE);
clutter_container_add (CLUTTER_CONTAINER (box), hline, priv->panel, NULL);
/* monitor key press events */
g_signal_connect (self, "key-press-event",
G_CALLBACK (mex_content_box_key_press_event_cb), self);
/* Create tile */
priv->tile = mex_content_tile_new ();
g_object_set (G_OBJECT (priv->tile),
"thumb-width", priv->thumb_width,
"thumb-height", priv->thumb_height,
NULL);
mx_bin_set_fill (MX_BIN (priv->tile), TRUE, TRUE);
clutter_actor_set_reactive (priv->tile, TRUE);
g_signal_connect (priv->tile, "button-release-event",
G_CALLBACK (mex_content_box_tile_clicked_cb), self);
/* Create secondary box for tile/menu */
priv->box = mex_expander_box_new ();
mex_expander_box_set_important (MEX_EXPANDER_BOX (priv->box), TRUE);
mex_expander_box_set_grow_direction (MEX_EXPANDER_BOX (priv->box),
MEX_EXPANDER_BOX_RIGHT);
mex_expander_box_set_primary_child (MEX_EXPANDER_BOX (priv->box), priv->tile);
/* Pack box and panel into self */
mex_expander_box_set_primary_child (MEX_EXPANDER_BOX (self), priv->box);
mex_expander_box_set_secondary_child (MEX_EXPANDER_BOX (self), box);
/* Create the action list */
priv->action_list = mex_action_list_new ();
mex_expander_box_set_secondary_child (MEX_EXPANDER_BOX (priv->box),
priv->action_list);
/* Connect to the open notify signal */
g_signal_connect (self, "notify::open",
G_CALLBACK (mex_content_box_notify_open_cb), NULL);
}
开发者ID:olethanh,项目名称:media-explorer,代码行数:57,代码来源:mex-content-box.c
示例17: mex_action_button_init
static void
mex_action_button_init (MexActionButton *self)
{
self->priv = ACTION_BUTTON_PRIVATE (self);
mx_button_set_icon_position (MX_BUTTON (self), MX_POSITION_RIGHT);
mx_bin_set_fill (MX_BIN (self), TRUE, TRUE);
}
开发者ID:olethanh,项目名称:media-explorer,代码行数:9,代码来源:mex-action-button.c
示例18: _make_offline_banner
static ClutterActor *
_make_offline_banner (MnbPeoplePanel *pane,
gint width)
{
ClutterActor *tile;
ClutterActor *tmp_text;
ClutterActor *label, *bin;
tile = mx_table_new ();
mx_table_set_row_spacing (MX_TABLE (tile), 8);
clutter_actor_set_width (tile, width);
clutter_actor_set_name (tile,
"people-pane-you-offline-banner");
label = mx_label_new_with_text (_("To see your IM contacts, "
"you need to go online."));
clutter_actor_set_name (label,
"people-pane-you-offline-label");
tmp_text = mx_label_get_clutter_text (MX_LABEL (label));
clutter_text_set_line_wrap (CLUTTER_TEXT (tmp_text), TRUE);
clutter_text_set_line_wrap_mode (CLUTTER_TEXT (tmp_text),
PANGO_WRAP_WORD_CHAR);
clutter_text_set_ellipsize (CLUTTER_TEXT (tmp_text),
PANGO_ELLIPSIZE_NONE);
bin = mx_frame_new ();
mx_bin_set_child (MX_BIN (bin), (label));
mx_bin_set_alignment (MX_BIN (bin), MX_ALIGN_START, MX_ALIGN_MIDDLE);
mx_bin_set_fill (MX_BIN (bin), FALSE, TRUE);
clutter_actor_set_name (bin,
"people-pane-you-offline-bin");
mx_table_insert_actor_with_properties (MX_TABLE (tile),
(ClutterActor *)bin,
0,
0,
"x-expand", TRUE,
"y-expand", FALSE,
"x-fill", TRUE,
"y-fill", FALSE,
"x-align", MX_ALIGN_START,
NULL);
return tile;
}
开发者ID:Cordia,项目名称:dawati-shell,代码行数:44,代码来源:mnb-people-panel.c
示例19: mx_bin_accept_focus
static MxFocusable*
mx_bin_accept_focus (MxFocusable *focusable, MxFocusHint hint)
{
MxBinPrivate *priv = MX_BIN (focusable)->priv;
if (MX_IS_FOCUSABLE (priv->child))
return mx_focusable_accept_focus (MX_FOCUSABLE (priv->child), hint);
else
return NULL;
}
开发者ID:GunioRobot,项目名称:mx,代码行数:10,代码来源:mx-bin.c
示例20: mx_bin_foreach
static void
mx_bin_foreach (ClutterContainer *container,
ClutterCallback callback,
gpointer user_data)
{
MxBinPrivate *priv = MX_BIN (container)->priv;
if (priv->child)
callback (priv->child, user_data);
}
开发者ID:GunioRobot,项目名称:mx,代码行数:10,代码来源:mx-bin.c
注:本文中的MX_BIN函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论