mirror of
https://gitlab.gnome.org/GNOME/nautilus
synced 2024-09-13 04:51:15 +00:00
8c61df4003
* libnautilus/nautilus-view.c, libnautilus/nautilus-view.h (nautilus_view_construct, nautilus_view_construct_from_bonobo_control): New construct functions so it's possible for view implementations to be subclasses of NautilusView. (nautilus_view_new_from_bonobo_control): Implement in terms of construct function. * libnautilus/nautilus-view-standard-main.h, libnautilus/nautilus-view-standard-main.c: (nautilus_view_standard_main_multi, nautilus_view_standard_main, nautilus_view_create_from_get_type): New convenience functions that encapsulate and librarify most of the cut and pasted main.c code that is in every nautilus view. (object_destroyed, make_object): Helper functions. * libnautilus/Makefile.am: Add nautilus-view-standard-main.[ch] to build. * libnautilus/nautilus-view-component.idl: Add license header comment. * libnautilus-extensions/nautilus-gtk-macros.h: Lined up the backslashes to make it easier to read and edit the multi-line macros. * components/sample/README: Explain that all files in this directory have "WHAT YOU NEED TO CHANGE" comments. * components/sample/main.c (main): Implement in terms of `nautilus_view_standard_main' and removed most of the rest of this file. Now all you have to change when writing your own view is an include and some defines at the top of the file. Added "WHAT YOU NEED TO CHANGE" comment. * components/sample/nautilus-sample-content-view.h, components/sample/nautilus-sample-content-view.c: Added "WHAT YOU NEED TO CHANGE" comments. (nautilus_sample_content_view_get_type, nautilus_sample_content_view_initialize, nautilus_sample_content_view_destroy, load_location, sample_load_location_callback, bonobo_sample_callback, sample_merge_bonobo_items_callback): Changed everything around so NautilusSampleContentView inherits from Nautilus view, not GtkLabel (the widget that happens to be in the main content area). This makes a lot more sense. Also fix bug 2410 but including alternative code to nautilus-only macros. * components/sample/nautilus-sample-content-view.oafinfo: Added "WHAT YOU NEED TO CHANGE" comment. * components/sample/Makefile.am: Added "WHAT YOU NEED TO CHANGE" comment.
72 lines
2.6 KiB
C
72 lines
2.6 KiB
C
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: 8; c-basic-offset: 8 -*- */
|
|
|
|
/*
|
|
* libnautilus: A library for nautilus view implementations.
|
|
*
|
|
* Copyright (C) 1999, 2000 Red Hat, Inc.
|
|
* Copyright (C) 2000 Eazel, Inc.
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Library General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Library General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Library General Public
|
|
* License along with this library; if not, write to the Free
|
|
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
*
|
|
* Author: Maciej Stachowiak <mjs@eazel.com>
|
|
*
|
|
*/
|
|
|
|
/* nautilus-view-standard-main.h - An implementation of most of a
|
|
* typical main.c file for Nautilus views. Just call the function from
|
|
* main and pass it the right arguments. This should make writing
|
|
* Nautilus views simpler.
|
|
*/
|
|
|
|
#ifndef NAUTILUS_VIEW_STANDARD_MAIN_H
|
|
#define NAUTILUS_VIEW_STANDARD_MAIN_H
|
|
|
|
#include <libnautilus/nautilus-view.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif /* __cplusplus */
|
|
|
|
typedef NautilusView * (*NautilusViewCreateFunction) (const char *iid, void *user_data);
|
|
|
|
int nautilus_view_standard_main (const char *executable_name,
|
|
const char *version,
|
|
int argc,
|
|
char **argv,
|
|
const char *factory_iid,
|
|
const char *view_iid,
|
|
NautilusViewCreateFunction create_function,
|
|
void *user_data);
|
|
|
|
int nautilus_view_standard_main_multi (const char *executable_name,
|
|
const char *version,
|
|
int argc,
|
|
char **argv,
|
|
const char *factory_iid,
|
|
GList *view_iids, /* GList<const char *> */
|
|
NautilusViewCreateFunction create_function,
|
|
void *user_data);
|
|
|
|
/* standard handy create function (pass the _get_type function for the
|
|
* class as the user_data)
|
|
*/
|
|
NautilusView * nautilus_view_create_from_get_type_function (const char *iid, void *user_data);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif /* __cplusplus */
|
|
|
|
#endif /* NAUTILUS_VIEW_STANDARD_MAIN_H */
|